Désactiver le Lazyload pour les iframes

Dans cette documentation

Désactiver le LazyLoad sur des iframes spécifiques

Il y a 2 méthodes au choix pour désactiver le Lazyload sur des iframes spécifiques. 

1. En modifiant directement l’iframe en question en lui ajoutant  data-no-lazy="1" comme dans cet exemple :

<iframe data-no-lazy="1" width="560" height="315" src="https://www.youtube.com/embed/Srq1FqFPwj0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"  allowfullscreen=""></iframe>

2. Si vous ne pouvez pas modifier le code de l'iframe directement, vous pouvez utiliser ce filtre à la place : rocket_lazyload_iframe_excluded_patterns

Cela ciblera n'importe quelle partie de l'iframe, il suffit donc de choisir une chaîne spécifique (c'est-à-dire un mot) du code à exclure, tel que le nom de domaine ou la valeur de tout attribut dans le code. En utilisant le code d'iframe ci-dessus comme exemple, vous pouvez l'exclure par le nom de domaine : 

function rocket_lazyload_exclude_pattern( $pattern ) {
    $pattern[] = 'youtube';
    return $pattern;
}
add_filter( 'rocket_lazyload_iframe_excluded_patterns', 'rocket_lazyload_exclude_pattern' );

Ceci exclura cette iframe grâce au mot "youtube".

Pour être encore plus précis, vous pouvez utiliser l’ID de la vidéo, tiré de son URL.

function rocket_lazyload_exclude_pattern( $pattern ) {
    $pattern[] = 'Srq1FqFPwj0';
    return $pattern;
}
add_filter( 'rocket_lazyload_iframe_excluded_patterns', 'rocket_lazyload_exclude_pattern' ); 

Ajoutez l'extrait de code au fichier functions.php de votre thème enfant, à votre propre plugin, ou utilisez un plugin comme My Custom Functions.

Désactiver le LazyLoad des iframes sur des pages spécifiques

Suivez ce guide pour désactiver cette option sur certaines pages..

Désactiver par programmation le LazyLoad des iframes

Pour désactiver par programmation le lazyload des iframes sur certains types de pages, vous pouvez utiliser ce filtre :

add_filter( 'do_rocket_lazyload_iframes', '__return_false' );

Par exemple, pour désactiver ce LazyLoad seulement sur page produit de WooCommerce, vous pouvez utiliser le code suivant :

function rocket_lazyload_deactivate_on_single_product() {
	if ( is_singular( 'product' ) ) {
		add_filter( 'do_rocket_lazyload_iframes', '__return_false' );
	}
}
add_filter( 'wp', 'rocket_lazyload_deactivate_on_single_product' );
Cela a-t-il répondu à votre question ? Merci pour votre retour :) Une erreur est survenue lors de l’envoi de votre retour. Veuillez réessayer plus tard.