Enqueue & Dequeue CSS files with functions.php
The below code is done for 2 conditions – if the page is homepage or if the page is any other page, this can be done on template basis as well.
function enqueue_css() {
//wp_enqueue_style( 'bg_main_css', get_template_directory_uri() . '/css/style.css','' , '1.0' );
//wp_enqueue_style( 'bg_swiper', get_template_directory_uri() . '/css/swiper.min.css','' , '1.0' );
if( is_front_page() )
{
//removing contact form 7 css from homepage if there is not contact form 7 added on homepage
wp_dequeue_script('contact-form-7'); // Dequeue JS Script file.
wp_dequeue_style('contact-form-7'); // Dequeue CSS file.
}
if( !is_front_page() )
{
wp_enqueue_style( 'bg_owl_carousel', get_template_directory_uri() . '/css/owl.carousel.css','' , '1.0' );
wp_enqueue_style( 'bg_fancybox', get_template_directory_uri() . '/css/jquery.fancybox.min.css', '', '1.0' );
wp_enqueue_style( 'easy_responsive_tabs', get_template_directory_uri() . '/css/easy-responsive-tabs.css','' , '1.0' );
wp_enqueue_style( 'bg_font_awesome', get_template_directory_uri() . '/css/font-awesome.css','' , '1.0' );
}
}
add_action( 'wp_enqueue_scripts', 'enqueue_css' );
Add stylesheet in footer – for additional stylesheets which are not required above the fold
function add_footer_styles() {
wp_enqueue_style( 'bg_main_css', get_template_directory_uri() . '/css/style.css' );
wp_enqueue_style( 'bg_swiper', get_template_directory_uri() . '/css/swiper.min.css' );
};
add_action( 'get_footer', 'add_footer_styles' );
Remove theme default CSS – if it causes render blocking on page google page speed
function remove_default_styles(){
wp_dequeue_style( 'wp-block-library' );
wp_dequeue_style( 'wp-block-library-theme' );
wp_dequeue_style( 'twentysixteen-style' );
wp_deregister_style( 'twentysixteen-style' );
}
add_action( 'wp_enqueue_scripts', 'remove_default_styles' );
Condition for homepage
if( is_front_page() )
{
//add or remove css here
}
Condition for single post type page
if(is_singular( 'team_member' ))
{
//done only for post type single page "team_member"
wp_enqueue_style( 'line_awesome', get_template_directory_uri() . '/css/line-awesome.min.css', '', '1.0' );
}
Same can be done based on template
if ( is_page_template( 'template-about.php' ) ) {
// template-about.php is used
}