WordPressテーマSANGOの質問

子テーマに置いたPHPが反映されない

アバター
すいみん

head.phpの一部を変更しまして
/wp-content/themes/sango-theme-poripu/library/functions/head.php
に格納したのですが、うまく反映されません。

試しに別のテストサイトで直接編集したものは上手くいったのですが、できれば本番サイトでは子テーマから読みこませたいです。

階層が深いなど関係あるのでしょうか?

変更箇所はプラグインと重複する関係でカテゴリーページのog:imageの出力を無しにしました
head.php197行目

if (!is_category()) {
$insert .= ” . “\n”;
}

SANGO
SANGO 質問ガイドライン
コメントへの回答
サルワカくん
サルワカくん
2020/03/21

functions系のファイルは子テーマで複製して上書きすることはできません。
参考:functions系のファイルを子テーマに複製しても反映されない

理由を説明すると長くなるのですが、一言でいうとfunctions系のファイルをまるっと上書きするとアップデート時に壊れる可能性が非常に高いためです。
とはいえ、関数ごとに子テーマのfunctions.phpで上書きすることが可能です。

テーマのPHPファイルにおいて、以下のように宣言されている関数は子テーマでそのまま上書きできます。

if (!function_exists('example')) {
  function example() {
    ~
  }
}

↑の関数の場合は、子テーマにfunction example() { ~ }という形で上書きできます。

よろしくお願いします。

アバター
すいみん
2020/04/01

ご回答ありがとうございました。
腑に落ちました。オーバーライドさせてみます!