TCDの「子テーマ」化で表示が崩れる!?対処法について

表題の件ですが、久々のTCDテーマ案件をやっていてドツボにハマりました。

子テーマを作成したところ、レスポンシブ表示が崩れるのです。

すぐにCSSがきちんと読み込まれていない症状であることに気づき、ソースを覗くとやはり「親テーマのスタイル(CSS)」が読み込まれていないことがわかりました。

こりゃあかんということで、headerに手動でLINKタグを追加したりなど諸々試すもうまくゆかず。(並び順が重要らしい)

対処法を考えあぐねていたところ、公式で案内がありました。

子テーマのfunction.phpに以下を追加する方法です。

function theme_enqueue_styles() {
 // 親テーマのstyle.cssを登録解除
wp_dequeue_style('main-style');
wp_deregister_style('main-style');
 // 親テーマのstyle.cssを「main-style」として再登録
wp_enqueue_style( 'main-style', get_template_directory_uri() . '/style.css' );
 // 子テーマのstyle.cssを登録、依存関係として親テーマのスタイルを指定
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('main-style') );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles', 11 ); // 念のため優先度を設定

テーマ作成時期によって、CSS読み込み順がぐちゃぐちゃだったりするせいで、正しく親・子とCSSが読まれないテーマもあるようです。(親が子に上書きされてしまっていた様子)
私の担当テーマもそうでした。

これにて一件落着。

↓公式サイトの参考ページはこちらでした。

この記事を書いた人

はなわ

パリスタデザイン事務所のWebデザイナー。
得意分野は、使い勝手についてきめ細やかに考えられたCMS設計・構築。
3児の母でもあります。ゲーム・パソコンが趣味。
好きが高じてEC事業部でPCや自作PCパーツ・ゲーミング関連グッズの販売も行っています。

お仕事のご依頼はこちらまで

パリスタデザイン事務所は、WordPressの構築/カスタマイズを得意としています。
Web制作に関するお仕事は、パリスタデザイン事務所までお気軽にお問い合わせください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA