Comment configurer programmatiquement les options de WP Rocket ?

Si vous avez besoin de désactiver ou d'activer de manière automatique l'une des options de WP Rocket, vous pouvez utiliser nos filtres pre_get_rocket_option_{nom_de_l'option}.

Cela peut s'avérer particulièrement utile dans certains cas. Imaginez que vous ayez besoin de désactiver l'option  Reporter l'exécution JavaScript dans 100 pages de produits. C'est un bon cas d'utilisation pour le plugin suivant. 

Dans ce cas particulier, le plugin d'aide vérifiera si la page en cours est une page "produit" et désactivera l'option  Reporter l'exécution JavaScript.

Ce plugin d'aide est très flexible. Vous pouvez le modifier pour qu'il réponde à vos besoins particuliers en utilisant les marqueurs conditionnels de WordPress.

Vous trouverez ici la liste complète de tous les filtres pre_get_rocket_option_ disponibles: List of pre_get_rocket_option_{option_name} filters

  • Pour désactiver une option, utilisez __return_zeroadd_filter( 'pre_get_rocket_option_delay_js', '__return_zero' );
  • Pour activer une option, utilisez __return_trueadd_filter( 'pre_get_rocket_option_delay_js', '__return_true' );

Plugin d'aide

📝 Une modification manuelle du code est nécessaire avant l'utilisation !

📥 Télécharger (.zip): WP Rocket | Conditionally toggle options
Développeurs : Vous pouvez trouver le code de ce plugin sur GitHub.

  1. Téléchargez le fichier zip du plugin d'aide, puis décompressez-le.
  2. Ouvrez le fichier PHP dans un éditeur de texte.
  3. Modifier la ligne 25. Remplacez if ( is_singular( 'product' ) ) avec toute autre condition. Vous trouverez quelques exemples ci-dessous. Veuillez consulter cet article pour trouver d'autres idées,
  4. Modifier la ligne 28 : changez add_filter( 'pre_get_rocket_option_delay_js', '__return_zero' ); pour utiliser n'importe quel filtre de notre liste de filtres pre_get_rocket_option_{option_name}. Si vous souhaitez ajouter d'autres filtres, il vous suffit de dupliquer la ligne 28 et d'ajouter une autre ligne.
  5. Ré-zippez le dossier.
  6. Installez le plugin d'aide sur votre site - allez à Extensions > Ajouter > Téléverser une extensions et sélectionnez le fichier zip.
  7. Activez le plugin.

Exemples

Activer Lazyload sur une catégorie spécifique
Référence : is_category()

if ( is_category('9' ) ) { 
   add_filter( 'pre_get_rocket_option_lazyload', '__return_true' ); 
}

Vous trouverez ci-dessous d'autres exemples de is_category(). Vous pouvez les trouver sur la page de référence du Codex de WordPress ci-dessus :

is_category();
// Lorsqu'une page d'archive de catégorie est affichée.

is_category( '9' ); 
// Basé sur un ID, lorsque la page d'archive de la catégorie 9 est affichée.

is_category( 'Stinky Cheeses' ); 
// Basé sur le nom : Lorsque la page archive de la catégorie dont le nom est "Stinky Cheeses" est affichée.

is_category( 'blue-cheese' ); 
// Basé sur le Slug : Lorsque la page archive de la catégorie dont la balise est "blue-cheese" est affichée.

is_category( array( 9, 'blue-cheese', 'Stinky Cheeses' ) ); 
// Catégories multiples : renvoie true lorsque la catégorie des articles affichés est soit term_ID 9, soit slug "blue-cheese", soit name "Stinky Cheeses".

Désactiver les exclusions Chargement différé des JS sur un type d'article personnalisé spécifique

Vous pouvez même supprimer les exclusions du Chargement différé des JS sur un Custom Post Type. Imaginez que vous souhaitiez différer tous les fichiers JS uniquement sur un Custom Post Type appelé "Books" tout en conservant les exclusions pour les autres sections de votre site web. 
Pour ce faire, vous pouvez supprimer toutes les exclusions Chargement différé des JS pour le CPT "Livres". 

Référence :  is_singular()

if ( is_singular( 'books' ) ) { 
  add_filter( 'pre_get_rocket_option_exclude_defer_js', function() {
    return array();
  });
}
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.