{"id":93237,"date":"2018-10-29T14:32:51","date_gmt":"2018-10-29T14:32:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wp-rocket-loadcss\/"},"modified":"2023-04-01T22:05:05","modified_gmt":"2023-04-01T22:05:05","slug":"enhance-wp-rocket-loadcss","status":"publish","type":"plugin","link":"https:\/\/ve.wordpress.org\/plugins\/enhance-wp-rocket-loadcss\/","author":14325478,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.5","stable_tag":"trunk","tested":"","requires":"","requires_php":"","requires_plugins":"","header_name":"WP Rocket LoadCSS","header_author":"Ensemble Group","header_description":"WordPress plugin to quickly modify php output with appropriate loadCSS syntax.","assets_banners_color":"0282c2","last_updated":"2023-04-01 22:05:05","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/ensemblebd\/wp-rocket-loadcss","header_author_uri":"https:\/\/ensemblegroup.net","rating":1,"author_block_rating":0,"active_installs":5000,"downloads":64558,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["faq","changelog","description"],"tags":{"1.0":{"tag":"1.0","author":"ensemblebd","date":"2018-10-29 14:57:00"},"1.1":{"tag":"1.1","author":"ensemblebd","date":"2018-10-29 15:04:07"},"1.2":{"tag":"1.2","author":"ensemblebd","date":"2018-10-30 14:27:42"},"1.3":{"tag":"1.3","author":"ensemblebd","date":"2018-10-30 14:31:03"},"1.4":{"tag":"1.4","author":"ensemblebd","date":"2023-03-31 20:21:38"},"1.5":{"tag":"1.5","author":"ensemblebd","date":"2023-04-01 22:05:05"}},"upgrade_notice":{"1.5":"<p>Fix for rare but possible scenario where plugin could crash if function isn&#039;t available.<\/p>","1.4":"<p>Improved error handling.<\/p>","1.3":"<p>More stable runtime approach.<\/p>","1.0":"<p>The first release of the plugin.<\/p>"},"ratings":{"1":2,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":1965162,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":1965162,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":1965162,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":1965162,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.1","1.2","1.3","1.4","1.5"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":1965162,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":1965162,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":1965162,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":1965162,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Settings Page","2":"Resultant HTML","3":"Sample Measurement","4":"Sample Regex"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[],"plugin_category":[],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-93237","plugin","type-plugin","status-publish","hentry","plugin_committers-ensemblebd"],"banners":{"banner":"https:\/\/ps.w.org\/enhance-wp-rocket-loadcss\/assets\/banner-772x250.jpg?rev=1965162","banner_2x":"https:\/\/ps.w.org\/enhance-wp-rocket-loadcss\/assets\/banner-1544x500.jpg?rev=1965162","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/enhance-wp-rocket-loadcss\/assets\/icon-128x128.jpg?rev=1965162","icon_2x":"https:\/\/ps.w.org\/enhance-wp-rocket-loadcss\/assets\/icon-256x256.jpg?rev=1965162","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/enhance-wp-rocket-loadcss\/assets\/screenshot-1.jpg?rev=1965162","caption":"Settings Page"},{"src":"https:\/\/ps.w.org\/enhance-wp-rocket-loadcss\/assets\/screenshot-2.jpg?rev=1965162","caption":"Resultant HTML"},{"src":"https:\/\/ps.w.org\/enhance-wp-rocket-loadcss\/assets\/screenshot-3.jpg?rev=1965162","caption":"Sample Measurement"},{"src":"https:\/\/ps.w.org\/enhance-wp-rocket-loadcss\/assets\/screenshot-4.jpg?rev=1965162","caption":"Sample Regex"}],"raw_content":"<!--section=faq-->\n<ul>\n<li>Where are the settings?\nRight next to WP Rocket underneath the standard Wordpress Admin -&gt; Settings<\/li>\n<li>Can I use this without WP Rocket? \nYes, just make sure and check the box to do so under settings. <\/li>\n<li>What ignore conditions are supported at this time? \nYoast XML sitemap, and AMP pages. By default all Admin pages are ignored.<\/li>\n<\/ul>\n\n<!--section=changelog-->\n<h4>1.5<\/h4>\n\n<ul>\n<li>Fix for rare but possible scenario where plugin could crash if function isn't available. is_plugin_active()<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Fixed bugs with get_option() variable usage(proofing conditions), wrapped executions in try\/catch to prevent potential for an exception to bubble up and crash site, and added logging for exceptions. <\/li>\n<li>Adjusted readme to indicate DEPRECATED status of this plugin, being that WpRocket now has an asynchronous css loader. <\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Adjusted the main runtime to utilize better detection for string replacement, to handle more scenarios (just in case).<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Release date: October 29, 2018<\/li>\n<\/ul>\n\n<!--section=description-->\n<h3>Deprecated<\/h3>\n\n<p>This plugin is deprecated and will be removed in the future.<br \/>\nIt was coded back in 2019 when WpRocket did not have asynchronous support for CSS.<br \/>\nAlthough this plugin operates at a lower level (main php buffer), which helps apply loadsCSS to ALL styles regardless of whether they conform to wp_enqueue or not, <strong>we recommend<\/strong> instead using WpRocket's system: <a href=\"https:\/\/docs.wp-rocket.me\/article\/1266-load-css-asynchronously\">Load CSS Asynchronously<\/a>.<\/p>\n\n<h3>Description<\/h3>\n\n<p>Simple high performance plugin to enhance WP Rocket's css output to use the loadCSS preload polyfill.<br \/>\nThis will ensure <strong>any css<\/strong> being loaded via the page output <strong>is deferred<\/strong>, and utilizing a preload [rel] attribute.<br \/>\nNote: This will not affect admin pages. It's designed only to process front-end pages.<\/p>\n\n<p>It is recommended to enable the WP Rocket setting for \"Optimize CSS\", which will provide your pages with inline Critical-CSS.<br \/>\nThat way an unstyled flash is not seen on page load (if properly configured of course).<\/p>\n\n<p><strong>This plugin will boost your <a href=\"https:\/\/developers.google.com\/web\/tools\/lighthouse\/\">Lighthouse<\/a> and <a href=\"https:\/\/developers.google.com\/speed\/pagespeed\/insights\/\">PageSpeed Insight<\/a> scores.<\/strong><\/p>\n\n<h3>Plugin Mission<\/h3>\n\n<p>We hope that <a href=\"https:\/\/wp-rocket.me\/\">WP Rocket<\/a> will implement this as a <strong>feature<\/strong> of their plugin.<br \/>\nThe existing <a href=\"https:\/\/docs.wp-rocket.me\/article\/1266-load-css-asynchronously\">Load CSS Asynchronously<\/a> only works for supported wp_enqueue styles, which not all plugins\/themes properly utilize.<br \/>\nFor normal users, we recommend using WP Rocket's system instead of this plugin.<\/p>\n\n<h3>Requirements:<\/h3>\n\n<ul>\n<li>If you intend for logged-in users to see the effect, you must enable WP-Rocket's setting called \"caching for Logged-In Users\"<\/li>\n<li>Alternatively, you can run the plugin without WP-Rocket, despite it's intended purpose.    (&gt;^.^)&gt;<\/li>\n<\/ul>\n\n<h3>Features:<\/h3>\n\n<ul>\n<li><a href=\"https:\/\/github.com\/filamentgroup\/loadCSS\/tree\/v2.0.1\">FilamentGroup's LoadCSS(v2.0.1)<\/a> inline injector \n(optional - see settings page next to WP Rocket), <em>triggered via wp_head<\/em>  <\/li>\n<li>High performance Regular Expression approach to process WP Rocket's (php's) output buffer, to replace stylesheets with the appropriate loadCSS syntax  <\/li>\n<li>Option to enable the buffer processor when you don't have WP Rocket installed.<br \/>\n** This will respect AMP pages, and Yoast Sitemap output (by not executing). No other considerations have been implemented.  <\/li>\n<\/ul>\n\n<p>No fluff. Just a robust loadCSS implementation.<\/p>\n\n\n\n<p>You can see how it works, &amp; measure the performance, with this(via repl.it): <a href=\"https:\/\/repl.it\/@ensemblebd\/WPRocketLoadCSSMeasurement\">Run the Plugin's code<\/a><br \/>\nJust paste your own page's url or html into the appropriate variable @ the top.<\/p>\n\n<p>And you can test this plugin's regex as well: <a href=\"https:\/\/regex101.com\/r\/xsugT7\/1\/\">Wordpress.com html - links filtered by regex<\/a><\/p>\n\n<p>Github link is here: <a href=\"https:\/\/github.com\/ensemblebd\/wp-rocket-loadcss\">Click<\/a><\/p>\n\n<h3>Last tested with:<\/h3>\n\n<ul>\n<li>WP Rocket 3.13.x<\/li>\n<li>WordPress 6.2.x<\/li>\n<\/ul>\n\n<h3>Dependencies<\/h3>\n\n<ul>\n<li>WP Rocket  (optional via settings)  <\/li>\n<li>file_get_contents() php function  (if included loadCSS lib is used via options -- default = yes)<\/li>\n<\/ul>","raw_excerpt":"Deprecated","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/93237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=93237"}],"author":[{"embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ensemblebd"}],"wp:attachment":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=93237"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=93237"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=93237"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=93237"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=93237"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=93237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}