is_main_query() ) { add_filter( 'the_content', 'adredux_insert_adonpage', 99 ); } } ); // remove the filter when main loop ends add_action( 'loop_end', function( WP_Query $query ) { if ( has_filter( 'the_content', 'adredux_insert_adonpage' ) ) { remove_filter( 'the_content', 'adredux_insert_adonpage' ); } } ); } public function adredux_load_scripts() { $stylesheet = adredux_get_option('adredux_stylesheet')[0]; if ( isset ($stylesheet) && ($stylesheet == 'no') ) return; wp_register_style( 'adredux-adstyles', plugins_url( '/css/adstyles.css', __FILE__ ) ); wp_enqueue_style( 'adredux-adstyles' ); } public function adredux_header_codes() { $headercode = adredux_get_option('adredux_header_codes', ''); if ( isset ($headercode) && ($headercode != '') ){ echo "\n"; _e ( '', 'adredux'); echo "\n"; echo $headercode; echo "\n"; } } public function adredux_footer_codes() { $footercode = adredux_get_option('adredux_footer_codes'); if ( !isset ($footercode) || ($footercode == '') ) return; echo "\n"; _e ( '', 'adredux'); echo "\n"; echo $footercode; echo "\n"; } public function adredux_body_codes() { $bodycode = adredux_get_option('adredux_body_codes'); if ( !isset ($bodycode) || ($bodycode == '') ) return; echo "\n"; _e ( '', 'adredux'); echo "\n"; echo $bodycode; echo "\n"; } public function adredux_pagelevel_adcode() { $pagelevelad = adredux_get_option('adredux_pagelevel_adcode', ''); if ( !isset ($pagelevelad) || ($pagelevelad == '') ){ return; } else { $showads = adredux_get_option('adredux_showads')[0]; $ad_wordcount = adredux_get_option('ad_words','0'); if ( isset ($showads) && ($showads == '0') ) { return; } elseif ( isset ($showads) && ($showads == '1') && is_user_logged_in() ) { return; } elseif ( isset ($showads) && ($showads == '2') && is_user_logged_in() && current_user_can( 'edit_posts' ) ) { return; } else { $ad_page = adredux_get_option('ad_page')[0]; $exclude_categories = adredux_get_option('exclude_categories', array('0')); $exclude_tags = adredux_get_option('exclude_tags', array('0')); if ( (is_singular()) && ( ($ad_page == 'posts') || ($ad_page == 'both') ) && (!in_category($exclude_categories)) && (!has_tag($exclude_tags)) ){ $word_count = str_word_count(get_the_content()); if ( $word_count < $ad_wordcount ) { return; } else { echo "\n"; _e ( '', 'adredux'); echo "\n"; echo $pagelevelad; echo "\n"; } } elseif ( (is_page()) && ( ($ad_page == 'pages') || ($ad_page == 'both') ) ) { $word_count = str_word_count(get_the_content()); if ( $word_count < $ad_wordcount ) { return; } else { echo "\n"; _e ( '', 'adredux'); echo "\n"; echo $pagelevelad; echo "\n"; } } else { return; } } } } public function adredux_setup_sections() { add_settings_section( 'adredux_insert_codes', __('Insert Codes in Head, Body & Footer', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); add_settings_section( 'adredux_general_settings', __('Ad Settings', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); add_settings_section( 'adredux_pagelevel_ads', __('Page-Level Ad Codes', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); add_settings_section( 'adredux_adcode_one', __('Advertisement #1', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); add_settings_section( 'adredux_adcode_two', __('Advertisement #2', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); add_settings_section( 'adredux_adcode_three', __('Advertisement #3', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); add_settings_section( 'adredux_adcode_four', __('Advertisement #4', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); add_settings_section( 'adredux_adcode_five', __('Advertisement #5', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); add_settings_section( 'adredux_adcode_six', __('Advertisement #6', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); add_settings_section( 'adredux_adcode_seven', __('Advertisement #7', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); add_settings_section( 'adredux_adcode_eight', __('Advertisement #8', 'adredux'), array( $this, 'adredux_section_callback' ), ADREDUX_SETTINGS ); } public function adredux_section_callback( $arguments ) { switch( $arguments['id'] ){ case 'adredux_general_settings': echo __('Set up your advertisement display preferences for the website.
<p></p> in any of the ad codes when using the second para ad location.', 'adredux'),
'default' => '',
);
$adfields[] =
array(
'uid' => 'adcode_location_'.$adslot,
'label' => __('Display Location', 'adredux'),
'section' => 'adredux_adcode_'.$adslot,
'type' => 'select',
'options' => array(
'before-content' => __('Before Content', 'adredux'),
'after-para-one' => __('Content - After First Paragraph', 'adredux'),
'after-para-two' => __('Content - After Second Paragraph', 'adredux'),
'after-para-three' => __('Content - After Third Paragraph', 'adredux'),
'after-para-secondlast' => __('Content - After Second Last Paragraph', 'adredux'),
'mid-content' => __('Mid Content', 'adredux'),
'after-content' => __('After Content', 'adredux'),
),
'placeholder' => '',
'helper' => '',
'supplimental' => '',
'default' => array('before-content')
);
$adfields[] =
array(
'uid' => 'adcode_align_'.$adslot,
'label' => __('Alignment', 'adredux'),
'section' => 'adredux_adcode_'.$adslot,
'type' => 'select',
'options' => array(
'alignleft' => __('Left', 'adredux'),
'alignright' => __('Right', 'adredux'),
'aligncenter' => __('Center', 'adredux'),
'leftright' => __('Random (Left/Right)', 'adredux'),
'random' => __('Random (All)', 'adredux'),
),
'placeholder' => '',
'helper' => '',
'supplimental' => '',
'default' => array('center')
);
$adfields[] =
array(
'uid' => 'adcode_maxwidth_'.$adslot,
'label' => __('Max Width', 'adredux'),
'section' => 'adredux_adcode_'.$adslot,
'type' => 'text',
'placeholder' => '',
'helper' => __('Pixels', 'adredux'),
'supplimental' => __('Set the maximum width (400px recommended) for responsive ads. Leave blank to use container width.', 'adredux'),
'default' => ''
);
}
//var_dump($adfields);
foreach( $adfields as $key=>$adfield ){
add_settings_field( ADREDUX_SETTINGS.'['.$adfield['uid'].']', $adfield['label'], array( $this, 'field_callback' ), ADREDUX_SETTINGS, $adfield['section'], $adfield );
}
register_setting( 'adredux_settings', ADREDUX_SETTINGS );
register_setting( 'adredux_settings_ads', ADREDUX_SETTINGS );
}
public function field_callback( $arguments ) {
$settings = get_option( ADREDUX_SETTINGS );
if ( isset( $settings[$arguments['uid']] ) ) {
$value = $settings[$arguments['uid']];
} else {
$value = $arguments['default'];
}
switch( $arguments['type'] ){
case 'password':
case 'text':
printf( '', ADREDUX_SETTINGS.'['.$arguments['uid'].']', $arguments['type'], $arguments['placeholder'], $value );
break;
case 'number':
printf( '', ADREDUX_SETTINGS.'['.$arguments['uid'].']', $arguments['type'], $arguments['placeholder'], $value );
break;
case 'textarea':
printf( '', ADREDUX_SETTINGS.'['.$arguments['uid'].']', $arguments['placeholder'], $value );
break;
case 'select':
case 'multiselect':
if( ! empty ( $arguments['options'] ) && is_array( $arguments['options'] ) ){
$attributes = '';
$options_markup = '';
foreach( $arguments['options'] as $key => $label ){
$options_markup .= sprintf( '', $key, selected( $value[ array_search( $key, $value, false ) ], $key, false ), $label );
}
if( $arguments['type'] === 'multiselect' ){
$attributes = ' multiple="multiple" ';
}
printf( '', ADREDUX_SETTINGS.'['.$arguments['uid'].']', $attributes, $options_markup );
}
break;
case 'radio':
case 'checkbox':
if( ! empty ( $arguments['options'] ) && is_array( $arguments['options'] ) ){
$options_markup = '';
$iterator = 0;
foreach( $arguments['options'] as $key => $label ){
$iterator++;
$options_markup .= sprintf( '%4$s
', ADREDUX_SETTINGS.'['.$arguments['uid'].']', $arguments['type'], $arguments['placeholder'], $value ); break; } if( $helper = $arguments['helper'] ){ printf( ' %s', $helper ); } if( $supplimental = $arguments['supplimental'] ){ printf( '%s
', $supplimental ); } } /** * Display a welcome notice when the plugin is activated. * * @access public */ public function welcome_admin_notice() { /* Check transient, if available display notice */ if( get_transient( 'adredux-activated' ) ){ $plugininfo = get_plugin_data( ADREDUX_DIR .'adredux.php'); ?>settings page.', 'adredux' ), array( 'a' => array( 'href' => array() ) ) ), esc_attr( $plugininfo['Name'] ), esc_url( admin_url( 'admin.php?page=adredux' ) ) ); ?>