Remove CSS & JS files from WordPress Main Page For Increase Pagespeed?

With the reference of https://stackoverflow.com/questions/12463304/wordpress-load-plugin-css-js-in-functions-php-w-conditional-tags answered by @maiorano84

i am using cforms, FancyBox, WP Page Numbers plugins for WordPress. From Page Speed point of view i want to remove CSS and JS of these plugin’s from all pages except single post page. I also want to put the JS scripts in the footer. below is the code i have been trying but no luck. Would any body help me please?

if ( !is_single() ) {
add_action( 'wp_print_styles', 'my_deregisters', 100 );
add_action( 'wp_print_scripts', 'my_deregisters', 100 );

    function my_deregisters() {
        remove_action('wp_head', 'wp_page_numbers_stylesheet');
        wp_deregister_style( 'fancybox' ); 
        wp_deregister_script( 'fancybox' ); 
        wp_dequeue_script('fancybox');      
        wp_dequeue_style('fancybox'); 
        remove_action('wp_print_scripts', 'mfbfw_load');
        remove_action('wp_print_styles', 'mfbfw_css');
        remove_action('wp_head', 'mfbfw_init');
        remove_action('wp_head', 'cforms_style');

        }

} else {  }

Related posts

1 comment

  1. Does it work any better added to a hook with the conditionals inside?

    function my_deregisters() {
    
      if ( !is_single() ) {
       remove_action('wp_head', 'wp_page_numbers_stylesheet');
       //wp_deregister_style( 'fancybox' ); // i think this can be removed
       //wp_deregister_script( 'fancybox' ); // i think this can be removed
       wp_dequeue_script('fancybox');      
       wp_dequeue_style('fancybox'); 
       remove_action('wp_print_scripts', 'mfbfw_load');
       remove_action('wp_print_styles', 'mfbfw_css');
       remove_action('wp_head', 'mfbfw_init');
       remove_action('wp_head', 'cforms_style');
     }
    
    } 
    add_action( 'wp_enqueue_scripts', 'my_deregisters', 100 );
    

Comments are closed.