WordPress – Comment puis-je attribuer des feuilles de style distinctes à différentes pages ?

Publié par Jean-Michel le

J’essaie de comprendre comment attribuer une feuille de style distincte pour différentes pages ? Je ne veux pas utiliser la même feuille de style pour ma page d’accueil, un modèle de page et une feuille de style différente pour mon blog et ses pages associées.

Mon thème se compose uniquement d’une page d’accueil, d’un modèle de page et d’un blog. Donc, j’aurais besoin d’une manière ou d’une autre de comprendre comment me différencier des pages réelles. Il devrait être appliqué à toutes les pages du blog.

Je me demande donc si je pourrais faire quelque chose comme ça (ajouté à l’en-tête):

<?php if ( 'front-page.php' ) { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); type="text/css" media="screen" />
<?php } elseif ( 'page.php' ) { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>"  type="text/css" media="screen" />
<?php } else { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>"  type="text/css" media="screen" />
 <?php } ?>

S’il s’agit de la page d’accueil ou du modèle de page, il utilise la feuille de style normale. S’il s’agit d’autre chose, il utilise la feuille de style du blog. Si cela peut être fait comme ça, quelqu’un peut-il m’aider avec la syntaxe?

Solution n°1 trouvée

jsrgnt réponse est à peu près sur place. Mais au cas où vous auriez besoin d’utiliser différentes feuilles de style, utilisez wp_enqueue_scriptssur votre functions.php :

add_action( 'wp_enqueue_scripts', 'enqueue_so_20169099' );

function enqueue_so_20169099()
{
    # http://codex.wordpress.org/Conditional_Tags
    if( is_something() )
    {
        wp_enqueue_script( /* etc */ );
    }
}

Solution n°2 trouvée

En fonction de votre situation, la meilleure façon de procéder consiste généralement à utiliser une seule feuille de style CSS.

Vous pouvez cibler des pages WordPress spécifiques dans votre document CSS en utilisant des page-idsélecteurs comme :

.page-id-156 h1 { color: red; }

Ou vous pouvez cibler par modèle de page

.page-template-blog div { border: 1px solid black; }

Ces classes sont automatiquement attachées à l’élément body lors de l’utilisation de la body_class()fonction dans votre header.phplike donc

<body <?php body_class(); ?>

Il y a plus d’informations sur cette fonction ici http://codex.wordpress.org/Function_Reference/body_class

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 *