WordPress – Comment puis-je attribuer des feuilles de style distinctes à différentes pages ?
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_scripts
sur 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-id
sé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.php
like donc
<body <?php body_class(); ?>
Il y a plus d’informations sur cette fonction ici http://codex.wordpress.org/Function_Reference/body_class
0 commentaire