web-dev-qa-db-fra.com

Ajouter une feuille de style à une page spécifique

J'ai défini une page comme page d'accueil pour mon site. Il existe des feuilles de style spécifiques à la page d'accueil que je n'ai pas besoin d'utiliser globalement. Je suis encore nouveau sur WordPress, donc c'est tellement déroutant pour moi.

J'ai lu http://codex.wordpress.org/Function_Reference/wp_enqueue_style mais je ne comprends toujours pas comment l'intégrer à ma page. Quelqu'un peut-il m'aider s'il vous plaît?

1
kawiz

Utilisez les balises conditionnelles wordpress pour mettre en file d'attente/charger sélectivement vos feuilles de style. Cette pratique est recommandée afin que vous puissiez appeler toutes les dépendances.

J'ai fourni un exemple de cela dans la pratique. Souvent, nous souhaitons uniquement inclure des styles pour la page d'accueil, puis styler en conséquence pour votre sous-page:

<?php 
// Is this the front page or home page  ?
if (is_front_page() && is_home() )  {
// if so then lets enqueue this!
// for reference the function uses the following parameters:
// wp_enqueue_style( $handle, $src, $deps, $ver, $media ) ?
  wp_enqueue_style( 'mystyle', TEMPLATEPATH . 'foo.css', array('my-dependency-styles', 'reset-style'), '1.0.1', 'only screen and print' ); 
} else {  
  wp_enqueue_style( 'mystyle', TEMPLATEPATH . 'sub-page.css', array('my-dependency-styles', 'reset-style'), '1.0.1', 'only screen and print' ); ?>
  }
1
chrisjlee

Utilisez un crochet d'action pour attacher cette mise en file d'attente à une page spécifique avec une logique conditionnelle, similaire à l'approche de Chris, juste encapsulée dans une fonction.

add_action( 'wp_enqueue_scripts', 'enqueue_custom_styles_or_scripts' );

function enqueue_custom_styles_or_scripts() {

    // If it's not the front page, stop executing code, ie. return
    if( !is_front_page() )
        return;

    // Else we reach here and perform the enqueue
    wp_enqueue_style( 'your-style-handle', get_stylesheet_directory_uri() . '/yourfile.css' );

}

Remarque, malgré le nom de l'action, il convient également aux styles de le faire. J'aimerais que les développeurs le renomment ou en ajoutent un, le nom suggérant que ce n'est que pour les scripts (mais ce n'est vraiment pas le cas).

Vous pouvez ajouter le code en haut du fichier functions.php de votre thème après la balise d’ouverture PHP (<?php) sur une nouvelle ligne.

0
t31os