[WordPress] 親テーマスタイルの後で子テーマスタイルを読み込ませたい
親テーマを継承して子テーマを作る際、親テーマのスタイルに、子テーマのスタイルで上書きする形でカスタマイズするケースが多いです。
このとき、headタグ内でのスタイルの読み込みは、①親テーマのスタイル、②子テーマのスタイルという形にしておきたいです。
WordPress Codexで紹介されている下記のコードでは、親テーマで複数のスタイルを読み込んでいる場合にうまくいかないケースがあります。
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array('parent-style')
);
}
親テーマで用意されているすべてのスタイルシートを読み込んだ後で、子テーマのスタイルシートを読み込むやり方を調べてみました。
サンプルコード
function theme_enqueue_styles() {
wp_enqueue_style('style', get_stylesheet_directory_uri() . '/style.css');
}
add_action('wp_enqueue_scripts', 'theme_enqueue_styles', 11);
「add_action」関数の第3引数を指定するという単純な方法になります。
第3引数は、関数の優先順位を指定する引数になります。第1引数で指定されたフックに複数の関数が紐付けられている場合に、ここで指定した優先順位に従って関数が実行されます。
引数が無指定の場合、初期値の「10」が設定されます。サンプルコードでは「11」を指定し、初期値よりも優先順位が低い=後で呼ばれるようにしています。
継承する親テーマの作り方次第では、「11」ではうまくいかない場合もあります。その場合は、親テーマのfunctions.phpで「wp_enqueue_scripts」に「add_action」している箇所を確認して、第3引数に指定されている値より大きい値を使うようにしてください。
ご質問など受け付けています
記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。
ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。