Warum wird style.css nicht in die Warteschlange gestellt?

10

Ich habe ein ziemlich einfaches Thema und habe gerade herausgefunden, dass meine style.css- Datei nicht in die geladen wird <head>. Ich habe bereits gesucht, kann aber nicht herausfinden, warum es nicht geladen wird.

Ich habe das global $wp_stylesObjekt bereits inspiziert , konnte aber nichts finden:

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 );

Innerhalb des Objekts kann ich auch meine registrierten / in die Warteschlange gestellten Stylesheets nicht finden (sie werden geladen), also denke ich, dass ich bei der Überprüfung auch etwas falsch mache. Irgendwelche Ideen?

Hinweis:
Wenn ich es manuell in die Warteschlange stelle, wird meine style.css- Datei geladen. Nur das automatische Laden funktioniert nicht. Außerdem kann ich get_theme_data( TEMPLATEPATH.'/style.css' );problemlos auf die Datei zugreifen .

Kaiser
quelle

Antworten:

18

Themen-Stylesheets werden normalerweise nicht in die Warteschlange gestellt, sondern normalerweise mit ... geladen.

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

Natürlich sehen Sie sie nicht im Styles-Array.

Sie können natürlich (wenn Sie es vorziehen) stattdessen eine Warteschlange verwenden.

t31os
quelle
6
Das primäre Stylesheet style.css muss - genau wie jedes andere Stylesheet - entweder fest im Dokumentenkopf codiert oder manuell in wp_headoder eingebunden werden wp_print_styles. WordPress bindet style.css nicht automatisch ein .
Chip Bennett
2
Ich dachte (bis jetzt), dass das Laden von style.css auomagisch geschieht ... danke für die Klarstellung! +1 beide.
Kaiser
2

Die empfohlene Vorgehensweise besteht darin, style.css in die Datei functions.php des Themas zu stellen.

Fügen Sie dies zu functions.php hinzu

 /**
 * 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' );

Sie können dies in der Wordpress - Theme Handbuch finden sich hier und Beispiele finden Sie hier .

Arun Basil Lal
quelle