web-dev-qa-db-fra.com

Chargement de différentes feuilles de style sur des pages Wordpress?

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?

1
Wordpressor

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" />
2
Chip Bennett

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;
});
0
PayteR