diff --git a/inc/Dependencies/RocketLazyload/Assets.php b/inc/Dependencies/RocketLazyload/Assets.php
index c388ae6a0d..7033584223 100644
--- a/inc/Dependencies/RocketLazyload/Assets.php
+++ b/inc/Dependencies/RocketLazyload/Assets.php
@@ -267,7 +267,20 @@ public function getYoutubeThumbnailScript( $args = [] ) {
}
}
- return "";
+ /**
+ * Filters the patterns excluded from lazyload for youtube thumbnails.
+ *
+ * @param array $excluded_patterns Array of excluded patterns.
+ */
+ $excluded_patterns = apply_filters( 'rocket_lazyload_exclude_youtube_thumbnail', [] );
+
+ if ( ! is_array( $excluded_patterns ) ) {
+ $excluded_patterns = [];
+ }
+
+ $excluded_patterns = wp_json_encode( $excluded_patterns );
+
+ return "";
}
/**
diff --git a/inc/Engine/Media/Lazyload/Subscriber.php b/inc/Engine/Media/Lazyload/Subscriber.php
index 3f4ff83cd2..50ddd59197 100644
--- a/inc/Engine/Media/Lazyload/Subscriber.php
+++ b/inc/Engine/Media/Lazyload/Subscriber.php
@@ -75,20 +75,21 @@ public function __construct( Options_Data $options, Assets $assets, Image $image
*/
public static function get_subscribed_events() {
return [
- 'wp_footer' => [
+ 'wp_footer' => [
[ 'insert_lazyload_script', PHP_INT_MAX ],
[ 'insert_youtube_thumbnail_script', PHP_INT_MAX ],
],
- 'wp_head' => [ 'insert_nojs_style', PHP_INT_MAX ],
- 'wp_enqueue_scripts' => [ 'insert_youtube_thumbnail_style', PHP_INT_MAX ],
- 'rocket_buffer' => [ 'lazyload', 18 ],
- 'rocket_lazyload_html' => 'lazyload_responsive',
- 'init' => 'lazyload_smilies',
- 'wp' => 'deactivate_lazyload_on_specific_posts',
- 'wp_lazy_loading_enabled' => [ 'maybe_disable_core_lazyload', 10, 2 ],
- 'rocket_lazyload_excluded_attributes' => 'add_exclusions',
- 'rocket_lazyload_excluded_src' => 'add_exclusions',
- 'rocket_lazyload_iframe_excluded_patterns' => 'add_exclusions',
+ 'wp_head' => [ 'insert_nojs_style', PHP_INT_MAX ],
+ 'wp_enqueue_scripts' => [ 'insert_youtube_thumbnail_style', PHP_INT_MAX ],
+ 'rocket_buffer' => [ 'lazyload', 18 ],
+ 'rocket_lazyload_html' => 'lazyload_responsive',
+ 'init' => 'lazyload_smilies',
+ 'wp' => 'deactivate_lazyload_on_specific_posts',
+ 'wp_lazy_loading_enabled' => [ 'maybe_disable_core_lazyload', 10, 2 ],
+ 'rocket_lazyload_excluded_attributes' => 'add_exclusions',
+ 'rocket_lazyload_excluded_src' => 'add_exclusions',
+ 'rocket_lazyload_iframe_excluded_patterns' => 'add_exclusions',
+ 'rocket_lazyload_exclude_youtube_thumbnail' => 'add_exclusions',
];
}
@@ -455,7 +456,11 @@ public function maybe_disable_core_lazyload( $value, $tag_name ) {
* @param array $exclusions Array of excluded patterns.
* @return array
*/
- public function add_exclusions( array $exclusions ): array {
+ public function add_exclusions( $exclusions ): array {
+ if ( ! is_array( $exclusions ) ) {
+ $exclusions = [];
+ }
+
$exclude_lazyload = $this->options->get( 'exclude_lazyload', [] );
if ( empty( $exclude_lazyload ) ) {