web-dev-qa-db-ja.com

子テーマCSSが2回呼び出されるのはなぜですか?

WP docsに従って子テーマを作成し、必要な機能を追加しました

<?php
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style')  );
}

どういうわけか私は私の子供のテーマスタイルシートへの2つの参照で終わることになります:

<link rel='stylesheet' id='twentythirteen-style-css'  href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=2013-07-18' type='text/css' media='all' />

<link rel='stylesheet' id='child-style-css'  href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=4.0' type='text/css' media='all' />

何故ですか?

16
mmcglynn

この投稿は/からリンクされている この投稿 この投稿の変更に伴い更新しました

この問題を提起してくれてありがとう。シナリオをすぐにテストしましたが、子スタイルは実際には2回読み込まれます。

しばらく前にコーデックスを更新したとき、実際にデフォルトで行われることと与えられたコードが実際に2回子スタイルシートをロードすることを決して考慮しないで、子スタイルが親スタイルの後にロードされるようにしました。

これは、関数から$priorityを削除し、子テーマのエンキュー部分を削除するだけで簡単に修正できます。私はすべてを再テストしました、そしてそれはうまくいきます。何人かの人々がこれをコラボレーションできればいいでしょう。

その間に、私はコーデックを更新し、この記事にリンクします。

これが作業コードです。

add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style');
function enqueue_parent_theme_style() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}

編集

この投稿が機能していないという方は、 この投稿 をご覧ください。親テーマがどのようにスタイルを追加しているのかを調べてみる必要があります。この質問のコードは、親のスタイルが正しいはずの方法でロードされると厳密に考えています。そうでない場合は、リンクされた答えの選択肢を見て、それらを試してみてください

15
Pieter Goosen