Bootstrapをwp_enqueue_style()
でエンキューすると、Bootstrapは子テーマのstyle.css
の後にロードされ、style.css
をオーバーライドします。 Bootstrapの後にstyle.css
をロードする1つの方法は、style.css
を同様にエンキューすることですが、これは2回ロードされる原因になります。 Bootstrapの後にANDをstyle.css
にエンキューする方法はありますか?ありがとうございます。
ほとんどの場合、親テーマは子テーマのstyle.css
をエンキューしている可能性があります。その場合は、handleを使用してデキューしてから適切な依存関係を使用してエンキューできます。
子テーマのハンドルがchild-theme-style
であれば、それを使ってデキューします。
wp_dequeue_style('child-theme-style')
その後、必要に応じてそれをエンキューします。
wp_enqueue_style('child-theme-dep',get_stylesheet_uri(),array('bootstrap-handle-here'))
添付画像のように、頭の中にあるリンクの出力を見ることで、子テーマのスタイルシートのURLを簡単に知ることができます。
<link rel='stylesheet' id='hybrid-style-css' href='https://wptavern.com/wp-content/themes/stargazer-child-dev/style.css?ver=4.6.1' type='text/css' media='all' />
子テーマのエンキューハンドルはhybrid-style
であり、これは-css
なしのid
です。
良い知らせこれは簡単な修正です。 WordPressでは、スクリプトやスタイルシートを登録するときに依存関係を宣言できます。後でロードしたいアセットを後のアセットの依存関係としてリストするだけです。
https://codex.wordpress.org/Function_Reference/wp_register_style
これはスクリプトとスタイルの両方で機能し、ロード順序を制御するための推奨方法です。