Bobcares

Add Defer To CSS WordPress: How to?

by | Nov 2, 2022

Let us learn how to Add defer to CSS WordPress. At Bobcares our WordPress support services can give you a detailed overview of the whole process.

Deferring Render-Blocking CSS

add defer to css wordpress

One of the causes of slow website loading speed is render blocking CSS. By default, a web browser must wait for all CSS to load before it can begin displaying a webpage.

During this period, the user will see a blank page with no way to engage, giving a negative user experience. Let’s go through how to delay render-blocking CSS loading in WordPress to increase response speed.

In WordPress, it will import each CSS file as follows:

link rel='stylesheet' href='../plugin.css' type='text/css' media='all'Copy Code

To load this CSS file, change it to this :

link rel='stylesheet' href='../plugin.css' media="print" onload="this.media='all'"Copy Code

For this method to add defer to CSS WordPress the idea is to switch from media= “all” to media= “print.” This will tell the browser to use this CSS file when printing the document and is thus a non render blocking resource. Finally, utilize the onload event to reset the media to “all.”

There is no need for a polyfill or JavaScript because this works in all major or modern browsers.

Note: The old technique of using rel=”preload” is no longer available in all browsers and requires some JavaScript intervention to operate.

Add defer to CSS wordpress

To add CSS to the head section of a WordPress theme, use the wp enqueue style in

function.phpCopy Code
. Here’s an example of how the theme imports ionicons.css. to add defer to css WordPress:

wp_enqueue_style('ionicons', get_template_directory_uri() . '/assets/lib/ionicons/css/ionicons' . $min . '.css'); Copy Code

The CSS file should then be manually added to

header.phpCopy Code
.

link rel='stylesheet' id='ionicons-css' href='[path-to-css-file]/ionicons.min.css?ver=5.4.1' media="print" onload="this.media='all'" Copy Code

Another function example :

The method is to load the stylesheet with

media="printCopy Code
which notifies the browser that this file is intended for print viewing rather than normal browsing of the page.

The idea is to utilize JavaScript to notify the browser that when it has finished loading. Change the stylesheet from print to all, which will load it for the usual view.

This will add defer to CSS WordPress. This basically delays CSS loading till the end. In this case, deferring the WordPress Block Library will not be shown. And will reduce the render time by making the following change:

function custom_use_print_block_library( $html, $handle ) {
$handles = array( 'wp-block-library' );
if ( in_array( $handle, $handles ) ) {
$html = str_replace( 'media=\'all\'', 'media=\'print\' onload="this.onload=null;this.media=\'all\'"', $html );
}
return $html;
}
add_filter( 'style_loader_tag', 'custom_use_print_block_library', 10, 2 );Code language: PHP (php)Copy Code

To be inserted into the theme’s

functions.phpCopy Code
file.

[Need assistance with similar queries? We are here to help]

Conclusion

To sum up we have now seen how to add defer to CSS wordpress. With the support of our WordPress support service, we have gone through all of the setup procedures.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Speed issues driving customers away?
We’ve got your back!