WordPressテーマSANGOの質問

h3タグの色が反映されない(SANGOアプデの影響?)

アバター
Leon

こんにちは。
SANGOの子テーマにcssを記述して、次のようにh3見出しの色を変えてきましたが、SANGOのアップデートを実施した先月くらいから、それが反映されなくなりました。

.entry-content h3 {
border-left: red solid 0.3em;
}

※!importantを付けると反映されますが、他ページで使っている「別のデザインを持つh3タグ」と競合するのでやりたくない感じです……

ちなみに今回の現象と関係があるか分かりませんが、以下ページでご紹介されている対策方法を実施しても解決しませんでした(プラグイン全OFFなど)。
https://saruwakakun.com/sango/comments?id=4147

ひとまず自分なりに調査してみました。
その原因ですが、WordPress管理画面>カスタマイズ>色より設定できる「メインカラー」が、h3タグにそのまま適用されてしまっていることのようです。
(デベロッパーツールより判明)

この箇所に影響を与えているファイルを調べてみたところ、customizer-styles.phpだということがわかりました。
試しに153行目にある「.entry-content h3,」を削除したところ、予想通り問題は解決。
h3見出しの色設定が反映されるようになりました。

ひとまずは解決しているのですが、親テーマをいじるのは邪道な気もするので、何か他に良い対策方法があれば教えていただきたいです。
よろしくお願いいたします。

色の設定をする
色の設定をしよう
コメントへの回答
サルワカくん
サルワカくん
2021/03/05

お世話になっております。

そういうことですね。
customizer-styles.phpのsng_customizer_css関数をSANGOテーマからの子テーマのfunctions.phpに内容をコピーし、
その関数から該当の.entry-content h3に当たる部分を削除していただくと良いかと思います。
そうすることで、親テーマを触ることなく子テーマ側でstyleの定義を上書きすることができます。

よろしくお願いします。

アバター
Leon
2021/03/06

お返事ありがとうございます。
頂いたアドバイスの通りにファイルを書き換えたところ、親テーマをいじることなく、無事にh3見出しの色設定を反映させることができました!

※余談ですが、今回のようなカスタマイズを可能にするために、わざわざ親テーマの関数はif文で括られているのだなぁ……と、とても腑に落ちました。

お陰さまで問題が解決し、またPHPの勉強にもなりました。
有益な情報をありがとうございました。

サルワカくん
サルワカくん
2021/03/06

お世話になっております。

そうなんです。装飾に関わる関数はほとんど子テーマから拡張可能になっていると思いますので、
SANGOでif文で囲まれている関数を見つけた際にはぜひ試してみてください!