webentwicklung-frage-antwort-db.com.de

Warum wird style.css nicht in die Warteschlange gestellt?

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

Ich habe das Objekt global $wp_styles bereits überprüft, aber nichts gefunden:

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 tue ich wahrscheinlich auch etwas falsch, wenn ich das inspiziere. Irgendwelche Ideen?

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

10
kaiser

Theme 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' ); ?>" />

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

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

18
t31os

Die empfohlene Methode, dies zu tun, besteht darin, style.css in die functions.php des Themas einzureihen.

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 im WordPress-Themenhandbuch nachlesen hier und Beispiele sehen hier .

2
Arun Basil Lal