I notice that the popup content is always loaded on the page even before the event is triggered. When I set my popup to open only on click events I expect it to be loaded only when the click event is fired.
Is there any way to achieve this with this plugin? My popup contains an iframe of another website, and loading it systematically is terrible for performance.
Thanks.
]]>If you put correctly fetchpriority=”high to the first image, why add also decoding async?? That is one problem for LCP.
Now I found a function that fixes it, but it took me a lot of time and a headache.
I hope can fix this in the WP core for first image, and maybe if is one gallery, the two first or three by column gallery.
I like know what is the parameter for use loading=”lazy”, because in my case is correctly in the last image.
And I like request more options in media, for example, if no have one custom link, choice to no link, attachment or image etc.
And for gallery, modify globally in media, the numbres columns and another parameters, maybe you can put advanced options in media.
Another request is remove unused admin options of old plugins, etc, tto keep wordpress light and one good cleaner of data base (I know are plugins).
]]>The ASYNC plugin keeps knocking out my mobile menus in Divi by Elegant Themes. I don’t know what to exclude because I’m still not that good with this stuff, lol. Can you look at 67biltmore.com in mobile and tell me what script I should exclude so that the mobile menu functions. I’ve had to disable ASYNC on the site so the menu works for customers. Thanks.
]]> if ( 'enable' === generate_get_option( 'back_to_top' ) ) {
wp_enqueue_script(
'generate-back-to-top',
$dir_uri . "/assets/js/back-to-top{$suffix}.js",
array(),
GENERATE_VERSION,
array(
'in_footer' => true,
'strategy' => 'async',
) );
]]>“Google Maps JavaScript API has been loaded directly without loading=async. This can result in suboptimal performance. For best-practice loading patterns please see https://goo.gle/js-api-loading”
This warning didn’t appear before. Is there any way to solve this?
Here is a capture from my developer site using the default “Storefront” woocommerce theme. Only this plugin is activated.
https://snipboard.io/17QIiT.jpg
Thank you.
]]>Is it an to add the async tag to line 314? Like so:
$out .= '<script type="text/javascript" src="https://www.feedbackcompany.com/widgets/feedback-company-widget.min.js" async></script>';
]]>I am writing to you because I have encountered issues with the “script loading strategies” recently introduced in the WordPress core (https://make.www.ads-software.com/core/2023/10/17/script-loading-changes-in-wordpress-6-4/) and the “Load JS Deferred” feature of Litespeed set with the delay option.
I am opening this thread to share the solutions found and perhaps provide Litespeed with insights for possible improvements to their fantastic plugin.
In summary, to optimize script loading (if specified during script registration), WordPress now adds the async, defer, and data-wp-strategy=”async” or data-wp-strategy=”defer” attributes to HTML tags.
—– Issue 1 – Optimization with async:
If the theme has not declared compatibility with the HTML5 SCRIPT tag, WordPress outputs the script tag specifying the values for the async and defer attributes (e.g., async=”async” or defer=”defer”).
<script type="text/javascript" src=".../wp-includes/assets/js/comment-reply.min.js" id="comment-reply-js" async="async" data-wp-strategy="async"></script>
Litespeed, configured to delay JavaScript scripts, removes the async attribute in its optimizations but ignores the possibility that there might be a value for that attribute (file plugins/litespeed-cache/src/optimize.cls.php, function _js_defer(), line 1230 -> $ori = str_replace(‘ async’, ”, $ori);). This results in an HTML tag that is not formally valid (containing the string =”async”), causing JavaScript errors on the frontend.
<!-- MALFORMED TAG - DO NOT USE! -->
<script data-optimized="1" type="litespeed/javascript" data-src=".../wp-content/litespeed/js/516fdadcf934cd94ab0b3ba4b5bb56df.js?ver=b56df" id="comment-reply-js"="async" data-wp-strategy="async"></script>
Solution 1:
Considering that the mentioned _js_defer function runs multiple times for different purposes (optimizing and deferring), to bypass the issue and restore the functioning delay mode, include the script in both “JS Excludes” and “JS Deferred/Delayed Excludes.” This way, Litespeed won’t touch that tag, and it will utilize the optimization originally intended by the script registrar.
Solution 2:
Declare theme compatibility with HTML5 SCRIPT tags so that WordPress creates the script tag with only the async attribute (without a value), allowing Litespeed to transform the code correctly.
/**
* NMod - Add compatibility with HTML5 script tags
*/
\add_action( 'after_setup_theme', function() : void {
\add_theme_support( 'html5', [ 'script' ] );
}, 10 );
—– Issue 2 – Optimization with defer:
Consider that:
– WordPress optimizes the loading of external resources, but additional “extra” code portions (e.g., added via wp_localize_script()) do not undergo optimizations;
– Litespeed optimizes the loading of all resources, both external and additional code portions.
When the loading of some scripts is natively optimized by WordPress/WooCommerce with the defer strategy (e.g., wc-single-product.js), Litespeed ignores such scripts (does not apply async, as their loading has already been optimized) but applies async to any extra scripts, altering the resource download order and disrupting script dependencies.
Solution:
IN MY CASE, having optimized the site to work with the delay applied by Litespeed, I removed the attributes for optimized loading added by WordPress from all script tags.
/*
* NMod - Remove WordPress JS optimized loading strategy
*/
\add_filter( 'script_loader_tag', function( $tag, $handle, $src ) : string {
return \str_replace(
[
' async="async"',
' async',
' data-wp-strategy="async"',
' defer="defer"',
' defer',
' data-wp-strategy="defer"',
],
'',
$tag
);
}, 10, 3 );
Hope that this thread can help someone!
]]>/webshop/wp-content/plugins/trustpilot-reviews/review/assets/js/headerScript.min.js’ async=’async
It seems that the ‘ async= ‘async part is the cause of the 404 error (probably due to the quotes?).
How can I fix this?
]]>I have two polls in a widget set to show a random poll. The poll I haven’t voted in shows the “vote” and “results” button below the choices. The poll I did vote in does not show the “results” button, just a message at the top saying “you cannot vote again” and the list of choices to select (it does not show the results or percentages).
Screenshots;
Voted Poll: https://casterclubhouse.com/wp-content/uploads/2023/10/IMG_2078.jpeg
Not-Voted Poll: https://casterclubhouse.com/wp-content/uploads/2023/10/IMG_2077.jpeg
I want the first (voted) poll to have a results button like the second (not-voted) polls, or to just show the percentages instead of the choices once I have voted in it. How do I do that?
]]>