=') ){
if( array_key_exists( 'the_content' , $GLOBALS['wp_filter']) ) {
global $the_content;
$the_content = true;
}
}else {
add_filter( 'the_content', 'adsensei_check_the_content_filter' );
}
add_filter( 'wp_footer', 'adsensei_check_adblocker', -101 );
add_filter( 'adsensei-ad-output', 'after_ad_output', 10, 2 );
}
}
add_action( 'init', 'adsensei_frontend_checks_init' );
if( !is_admin() ){
add_filter( 'wp_footer', 'adsensei_check_adblocker_', -101 );
}
/**
* Create WP ADSENSEI List possible error cases in the admin-bar.
*
* @param obj $wp_admin_bar WP_Admin_Bar
*/
function adsensei_add_admin_bar_menu( $wp_admin_bar ) {
global $adsensei_options, $wp_the_query, $post, $wp_scripts, $the_content;
$error = false;
$wp_admin_bar->add_node( array(
'id' => 'adsensei_ad_check',
'title' => __( 'Ad Check', 'adsenseib30' ),
) );
// Hidden by default
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_jquery',
'title' => __( '- JavaScript / jQuery error', 'adsenseib30' ),
'href' => 'https://adsplugin.net/help/javascript-issues-breaking-adsense-ads/',
'meta' => array(
'class' => 'adsensei-hidden adsensei_ad_check_warning',
'target' => '_blank'
)
) );
// Hidden by default
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_adblocker_enabled',
'title' => __( '- Ad blocker enabled', 'adsenseib30' ),
'meta' => array(
'class' => 'adsensei-hidden adsensei_ad_check_warning',
)
) );
// Hidden by default
if( $wp_the_query->is_singular() ) {
// Check if the_content filter is available
if( !$the_content ) {
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_the_content_not_invoked',
'title' => __( '- the_content filter does not exist', 'adsenseib30' ),
'href' => 'http://wpadsensei.com/docs/the_content-filter-missing/',
'meta' => array(
'class' => 'adsensei_ad_check_warning',
'target' => '_blank'
)
) );
$error = true;
}
// Hidden by default
if( !empty( $post->ID ) ) {
$ad_settings = get_post_meta( $post->ID, '_adsensei_config_visibility', true );
if( !empty( $ad_settings['NoAds'] ) ) {
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_disabled_on_page',
'title' => __( '- All Ads are disabled on this page', 'adsenseib30' ),
'href' => get_edit_post_link( $post->ID ) . '#adsensei-ad-settings',
'meta' => array(
'class' => 'adsensei_ad_check_warning',
'target' => '_blank'
)
) );
$error = true;
}
if( !empty( $ad_settings['OffDef'] ) ) {
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_disabled_in_content',
'title' => __( '- Default Ads disabled in content of this page', 'adsenseib30' ),
'href' => get_edit_post_link( $post->ID ) . '#adsensei-ad-settings',
'meta' => array(
'class' => 'adsensei_ad_check_warning',
'target' => '_blank'
)
) );
$error = true;
}
} else {
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_post_zero',
'title' => __( '- Current post ID is 0 ', 'adsenseib30' ),
'href' => 'https://wpadvancedads.com/manual/known-plugin-conflicts/#frontend-issue-post-id-empty',
'meta' => array(
'class' => 'adsensei_ad_check_warning',
'target' => '_blank'
)
) );
$error = true;
}
}
if( $wp_the_query->is_404() && !empty( $adsensei_options['disabled-ads']['404'] ) ) {
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_no_404',
'title' => __( 'Ads are disabled on 404 pages', 'adsenseib30' ),
'href' => admin_url( 'admin.php?page=adsensei-settings' ),
'meta' => array(
'class' => 'adsensei_ad_check_warning',
'target' => '_blank'
)
) );
$error = true;
}
if( !$wp_the_query->is_singular() && !empty( $adsensei_options['disabled-ads']['archives'] ) ) {
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_no_archive',
'title' => __( 'Ads are disabled on non singular pages', 'adsenseib30' ),
'href' => admin_url( 'admin.php?page=adsensei-settings' ),
'meta' => array(
'class' => 'adsensei_ad_check_warning',
'target' => '_blank'
)
) );
$error = true;
}
if( !extension_loaded( 'dom' ) ) {
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_no_dom_document',
'title' => sprintf( __( 'The %s extension(s) is not loaded', 'adsenseib30' ), 'dom' ),
'href' => 'http://php.net/manual/en/book.dom.php',
'meta' => array(
'class' => 'adsensei_ad_check_warning',
'target' => '_blank'
)
) );
$error = true;
}
if( !$error ) {
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_fine',
'title' => __( 'WP ADSENSEI is working fine', 'adsenseib30' ),
'href' => false,
) );
}
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_debug_dfp',
'title' => __( 'debug DFP ads', 'adsenseib30' ),
'href' => esc_url( add_query_arg( 'googfc', '' ) ),
'meta' => array(
'class' => 'adsensei-hidden adsensei_ad_check_debug_dfp_link',
'target' => '_blank',
)
) );
$wp_admin_bar->add_node( array(
'parent' => 'adsensei_ad_check',
'id' => 'adsensei_ad_check_highlight_ads',
'title' => sprintf( '', __( 'Show Adverts', 'adsenseib30' ) )
) );
}
/**
* Set variable to 'true' when 'the_content' filter is available.
*
* @param string $content
* @return string $content
*/
function adsensei_check_the_content_filter( $content ) {
global $the_content;
$the_content = true;
return $content;
}
/**
* Check conditions and display warning. Conditions: AdBlocker enabled, jQuery is included in header
*/
function adsensei_check_adblocker() {
?>