J'ai une feuille de style liée à ma page Wordpress dans la section d'en-tête:
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/style.css" />
Maintenant, je veux charger différentes feuilles de style sur quelques pages ou sous-pages.
Quel est le meilleur/correct moyen d'y parvenir?
Je pense écrire mon propre shortcode appelant "wp_enqueue_style", est-ce une bonne idée?
N'utilisez pas de shortcode pour wp_enqueue_style()
; cela ne servira à rien, car au moment où le shortcode sera analysé, tous les points d'ancrage pertinents (wp_head
, wp_print_styles
) auront déjà été déclenchés.
Ecrivez une fonction, en functions.php
, pour mettre en file d'attente différentes feuilles de style basées sur is_page( $id )
(où $id
peut être un ID, un slug ou un titre). Puis connectez cette fonction à wp_enqueue_scripts
.
p.s. remarque aussi: vous devriez utiliser get_stylesheet_uri()
dans le lien de votre feuille de style par défaut, par exemple:
<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_uri(); ?>/style.css" />
Si vous souhaitez simplement alterner n’importe quel style href ou autre, vous pouvez utiliser ce filtre, exemple:
add_filter( 'style_loader_src', function($href){
if(strpos($href, "name-of-allowed.css") !== false) {
return $href;
}
return false;
});