WordPress : besoin d’appliquer une feuille de style différente pour un modèle de page spécifique

Publié par Jean-Michel le

Je travaille avec vingt quatorze thème. Je souhaite personnaliser le modèle pleine largeur en fonction de mes besoins, pour l’élargir sur des pages spécifiques. je l’ai donc copié dans un sous-dossier de mon thème enfant.

comment intégrer un style qui affectera UNIQUEMENT ce modèle ?

essayé ceci, mais cela ne fonctionne pas: http://www.transformationpowertools.com/wordpress/real-full-width-page-template-twentyfourteen

ps : je ne suis pas développeur 🙁

Solution n°1 trouvée

function register_foundation_style() {
  if ( is_page_template( 'page-templates/full-width.php' ) ) {
    wp_enqueue_style( 'full-width', get_stylesheet_directory_uri() . '/full-width.css' );
  }
}
add_action( 'wp_enqueue_scripts', 'register_foundation_style' );

Solution n°2 trouvée

Comment puis-je intégrer un style qui n’affectera que ce modèle ?

L’astuce consiste à s’accrocher à template_include. Cela nous permet de voir quel modèle est appliqué à une page.

Supposons que nous ayons un modèle avec un nom de base ‘full-width.php’. Dans notre rappel template_include, nous pouvons mettre en file d’attente conditionnellement un style CSS uniquement lorsque le modèle est en pleine largeur.

function wpse_258048_template_include( $template ) {
  if( 'full-width.php' === basename( $template ) ) {
    wp_enqueue_style( 'full-width', PATH_TO . '/full-width.css' );
  }
  return $template;
}
add_action( 'template_include', 'wpse_258048_template_include', 1000, 1 );

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *