web-dev-qa-db-ja.com

Style.cssがエンキューされないのはなぜですか?

私はかなり基本的なテーマを手に入れ、私の style.css ファイルが<head>にロードされないことを見つけました。私はすでに探し回っていますが、見つけることができません、なぜそれがロードされていません。

global $wp_stylesオブジェクトを既に調べましたが、何も見つかりませんでした。

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

オブジェクトの中に私は自分の登録/エンキューされたスタイルシートを見つけることができません(それらはロードされます)、それで私もこれを検査する上で何か問題を起こしていると思います。何か案は?

注意:
私が手動でそれをエンキューすると、私の style.css fileがロードされます。自動ロードだけではうまくいきません。さらにもっと私は問題なくget_theme_data( TEMPLATEPATH.'/style.css' );でファイルにアクセスすることができます。

10
kaiser

テーマスタイルシートは通常キューに入れられません、それらは通常を使ってロードされます..

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

だから、当然、それらはstyles配列には表示されません。

もちろん、代わりにエンキューを使用することもできます。

18
t31os

推奨 方法はテーマのfunctions.phpにstyle.cssをエンキューすることです。

これを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' );

これはWordPressテーマハンドブック here で参照でき、例 here を参照できます。

2
Arun Basil Lal