Pourquoi style.css n'est pas mis en file d'attente?

10

J'ai un thème assez basique et je viens de découvrir que mon fichier style.css ne se charge pas dans le <head>. J'ai déjà cherché mais je ne peux pas savoir pourquoi il ne se charge pas.

J'ai global $wp_stylesdéjà inspecté l' objet mais je n'ai rien trouvé:

function style_test() 
{ 
    $wp_styles = new WP_Styles();

    echo '<pre>'; 
        // $wp_styles->enqueue == completely empty
        print_r( $wp_styles->registered ); 
    echo '</pre>'; 
} 
add_action( 'wp_print_scripts', 'style_test', 0 );

À l'intérieur de l'objet, je ne trouve pas non plus mes feuilles de style enregistrées / mises en file d'attente (elles sont chargées), donc je suppose que je fais quelque chose de mal en inspectant cela aussi. Des idées?

Remarque:
Si je le mets en file d'attente manuellement, mon fichier style.css est chargé. Seul le chargement automatique ne fonctionne pas. De plus, je peux accéder au fichier get_theme_data( TEMPLATEPATH.'/style.css' );sans problème.

kaiser
la source

Réponses:

18

Les feuilles de style de thème ne sont généralement pas mises en file d'attente, elles sont normalement chargées à l'aide de ..

<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />

Donc, naturellement, vous ne les voyez pas dans le tableau des styles.

Vous pouvez bien sûr (si vous préférez) utiliser une file d'attente à la place.

t31os
la source
6
La feuille de style principale style.css - comme n'importe quelle autre feuille de style, d'ailleurs - doit être soit codée en dur dans la tête du document, soit accrochée manuellement dans wp_headou wp_print_styles. WordPress n'accroche pas automatiquement style.css .
Chip Bennett
2
Je pensais (jusqu'à présent) que le chargement de style.css se faisait de manière auomagique ... merci pour la clarification! +1 aux deux.
kaiser
2

La façon recommandée de le faire est de mettre en file d'attente style.css dans le functions.php du thème.

Ajoutez ceci à functions.php

 /**
 * Load CSS and JS the right way
 */
function myprefix_load_css_and_js() {
    wp_enqueue_style( 'style', get_stylesheet_uri() );
}
add_action( 'wp_enqueue_scripts', 'myprefix_load_css_and_js' );

Vous pouvez vous référer à cela dans le manuel du thème WordPress ici et voir des exemples ici .

Arun Basil Lal
la source