web-dev-qa-db-ja.com

注文Wordpressスタイルシート?

プラグインcssがテーマに干渉しているため、最後にロードする必要のあるスタイルシートを持つwordpressテーマがあります。メインを作成するために使用できる何らかのタイプの関数があるかどうか疑問に思いましたスタイルシートは私のテーマの最後にロードされます。

15
Jamie

スタイルシートをキューに入れるときは、より高い優先度を使用します。例:

add_action( 'wp_enqueue_scripts', array(&$this, 'theme_styles'), 99 );

一部のプラグインが「wp_print_styles」にフックを持っている場合は、代わりにそれを使用する必要があります。「wp_print_styles」は「wp_enqueue_scripts」、iircの後に書き込まれるためです。

また、テーマを完全に制御できるため、アクションの煩わしさが時間の価値がない場合は、スタイルを直接header.phpに含めることもできます...

22
kulpae

wp_print_stylesよりよく機能します。通話に優先度を追加するだけです(例:99)。

function load_css() {
        wp_enqueue_style( 'homepage-css', get_stylesheet_directory_uri() . '/css/homepage-css.css', array(), 0.256, 'all');
}
add_action( 'wp_print_styles', 'load_css', 99 );
5
Mau

いつでも!importantを使用して他のルールを上書きできますが、次の方法を使用してプラグインスタイルシートが正しく挿入されていることも確認することをお勧めします。優先順位番号を追加することで、後でそれらをレンダリングできます。

ヘッダーのタグ内のすべてのスクリプトの前に、スタイルシートがロードされていることを確認してください。

スクリプトの前に常にスタイルシートをロードする必要があり、wp_enqueue_styleおよびwp_enqueue_scriptを使用する場合、wordpressがそれを処理します

たとえば、functions.phpでは使用する必要があります

add_action('wp_enqueue_scripts', function(){
    wp_enqueue_style('main-style','http://yoursite.com/styles/main.css');
}, 99);

次に、Wordpressはmain.cssをヘッダーに配置し、99の優先度を与えると、残りの部分よりも遅く追加されることを意味します(デフォルトでは、この関数の優先度は10です)

ヘッダーファイルにwp_head()が含まれていることを確認してください。

よろしく

3
chifliiiii