ID, 'preloader_advert_option', true )); ?>
name="preloader-advert-option" value="yes"> name="preloader-advert-option" value="no"> ' . __( 'only on selected posts and pages', 'AdvertLoader' ) . '' ); } } // Save the meta box's post metadata. function preloader_advert_save_post_meta( $post_id ) { // Verify the nonce before proceeding. if ( !isset( $_POST['preloader_advert_option_nonce'] ) || !wp_verify_nonce( $_POST['preloader_advert_option_nonce'], basename( __FILE__ ) ) ){ return $post_id; } // Get the post type object. $post_type = get_post_type_object( $post->post_type ); /* // Check if the current user has permission to edit the post. if ( !current_user_can( $post_type->cap->edit_post, $post_id ) ){ var_dump("permission problem"); return $post_id; } */ // Return if it's a post revision if ( false !== wp_is_post_revision( $post_id ) ){ return $post_id; } // Get the posted data and sanitize it for use as an HTML class. $new_meta_value = ( isset( $_POST['preloader-advert-option'] ) ? sanitize_html_class( $_POST['preloader-advert-option'] ) : '' ); // Get the meta key. $meta_key = 'preloader_advert_option'; // Get the meta value of the custom field key. $meta_value = get_post_meta( $post_id, $meta_key, true ); // If a new meta value was added and there was no previous value, add it. if ( $new_meta_value && '' == $meta_value ){ add_post_meta( $post_id, $meta_key, $new_meta_value, true ); } // If the new meta value does not match the old value, update it. else if ( $new_meta_value && $new_meta_value != $meta_value ){ update_post_meta( $post_id, $meta_key, $new_meta_value ); } // If there is no new meta value but an old value exists, delete it. else if ( '' == $new_meta_value && $meta_value ){ delete_post_meta( $post_id, $meta_key, $meta_value ); } } // add the_content filter to replace content with preloader add_filter('the_content', 'preloader_advert_add_to_content'); function preloader_advert_add_to_content($content = ''){ // get current post ID $post_id = get_the_ID(); if ( !empty( $post_id ) ) { // first get options from meta and preloader options $show_preloader_for_specific_post = get_post_meta( $post_id, 'preloader_advert_option', true ); $show_preloader_basic_option = GetPreloaderOptions("preloader_show_on"); // Where to show preloader? if((is_single($post_id) || is_page($post_id)) && GetPreloaderOptions("preloader_show_on_page_type")==='only_full_content'){ $preloader_HTML = generate_advert_preloader_HTML(); if($show_preloader_basic_option === 'selected_posts'){ if($show_preloader_for_specific_post === 'yes'){ // add preloader here $content = $preloader_HTML.''; } } else if ($show_preloader_basic_option === 'all_posts_and_pages'){ // add preloader here $content = $preloader_HTML.''; } else if($show_preloader_basic_option === 'all_posts' && get_post_type( $post_id ) === 'post'){ // add preloader here $content = $preloader_HTML.''; } else if($show_preloader_basic_option === 'all_pages' && get_post_type( $post_id ) === 'page'){ // add preloader here $content = $preloader_HTML.''; } else { // do nothing, content stay as it is } } else if(GetPreloaderOptions("preloader_show_on_page_type")==='full_content_and_homepage'){ $preloader_HTML = generate_advert_preloader_HTML(); if($show_preloader_basic_option === 'selected_posts'){ if($show_preloader_for_specific_post === 'yes'){ // add preloader here $content = $preloader_HTML.''; } } else if ($show_preloader_basic_option === 'all_posts_and_pages'){ // add preloader here $content = $preloader_HTML.''; } else if($show_preloader_basic_option === 'all_posts' && get_post_type( $post_id ) === 'post'){ // add preloader here $content = $preloader_HTML.''; } else if($show_preloader_basic_option === 'all_pages' && get_post_type( $post_id ) === 'page'){ // add preloader here $content = $preloader_HTML.''; } else { // do nothing, content stay as it is } } else if(GetPreloaderOptions("preloader_show_on_page_type")==='disable_advert_preloader'){ // do nothing for now } else { // do nothing for now } } return $content; } // generate preloader HTML function generate_advert_preloader_HTML(){ $plugin_dir = plugin_dir_url( __FILE__ ); // prepare loading message if(GetPreloaderOptions("preloader_title")){ $loader_title = GetPreloaderOptions("preloader_title"); } else { $loader_title = 'Loading, please wait...'; } // prepare loading completed message if(GetPreloaderOptions("preloader_title_completed")){ $loader_title_completed = GetPreloaderOptions("preloader_title_completed"); } else { $loader_title_completed = 'Loading Completed'; } // prepare loader advert code if(GetPreloaderOptions("preloader_banner_code")){ $loader_advert_code = GetPreloaderOptions("preloader_banner_code"); } else { $loader_advert_code = ''; } // prepare loader button text if(GetPreloaderOptions("preloader_button")){ $loader_button_text = GetPreloaderOptions("preloader_button"); } else { $loader_button_text = 'Show content'; } // prepare progress image if(GetPreloaderOptions("preloader_progress_bar_image")){ $loader_progress_bare_image= GetPreloaderOptions("preloader_progress_bar_image"); } else { $loader_progress_bare_image = '7.GIF'; } // prepare timer value if(GetPreloaderOptions("preloader_timer")){ $loader_timeout= GetPreloaderOptions("preloader_timer"); } else { $loader_timeout = 10; } // show content automatically if(GetPreloaderOptions("preloader_show_automatically")){ $loader_auto_show= GetPreloaderOptions("preloader_show_automatically"); } else { $loader_auto_show = "no"; } $ready_html = '

'.$loader_title.'

'.$loader_advert_code.'
'; return $ready_html; } // after activation hook, register_activation_hook(__FILE__, 'preloader_advert_activation'); function preloader_advert_activation(){ // update options only after first activation if(!get_option('advert_preloader_all_options')){ $all_options = array( "preloader_timer"=>10, "preloader_show_automatically"=>"no", "preloader_show_on_page_type" => "only_full_content", "preloader_title"=>"Loading content, please wait!", "preloader_title_completed"=>"Loading Completed!", "preloader_button"=>"SHOW CONTENT", "preloader_progress_bar_image"=>"8.GIF", "preloader_show_on"=>"selected_posts", ); update_option('advert_preloader_all_options', serialize($all_options)); } }