【注意】functoins.phpをWordPressの子テーマに追加する場合

  • このエントリーをはてなブックマークに追加
  • 0
WordPressカスタマイズ

以前、子テーマの作成方法についてお伝えしましたが今回はその続きです。

ちなみに、この記事を理解するには、まず WordPress の子テーマについて理解して置く必要があります。子テーマについてはこちらの記事にまとめていますので、「子テーマって何!?」という場合は、まずこちらからチェックしてください。

【重要】WordPressテーマをカスタマイズするなら子テーマを作れ!

子テーマにfunctions.phpを加えたい場合

さて、この子テーマ、カスタマイズしたい部分だけ、カスタマイズしたいファイルだけを上書きすることができる便利な機能なんですが、functions.php に関しては扱いに注意が必要です。

その注意点を一言でまとめるなら・・・

『追加はできるが、上書きはできない』

という感じでしょうか。もうちょっと詳しく説明していきましょう。

テンプレートファイル(header.phpやcontent.phpなど)やスタイルシートを子テーマで作成した場合

通常、子テーマにテンプレートファイルやスタイルシートを作成した場合、該当する部分を上書きすることになります。

WordPressの親テーマと子テーマの関係

例えば、元々のスタイルシートにはブログのタイトルの文字色が黒で指定されていたとします。しかし子テーマのフォルダの中に追加したスタイルシートで、新たにブログタイトルの文字色を赤に指定すると、こちらの設定が反映されます。

つまり、親テーマで指定している要素を改めて指定し直す事ができるので、上書きしていると言えると思います。

functions.php を子テーマで作成した場合

一方で functions.php を子テーマのフォルダの中に作った場合は同じようになりません。親テーマに記述されていることを上書きしてくれないのです。

もし、親テーマに記述してあることを改めて記述してしまうと、エラーが発生して WordPress が表示できなくなってしまいます(恐ろしい・・・)。そのため、functions.php の内容を変更したい場合は、親テーマの方を直接いじる方が無難です。

当然、親テーマのアップデートがあったりなんかすると、変更した内容が失われてしまいますので、注意が必要です。

しかし、親テーマに記載されていない内容を追加したい場合は、子テーマ内に functions.php を作ってカスタマイズすることができます。子テーマフォルダ内に作成した functions.php をカスタマイズする場合は、追加したい内容を以下のように記述していく感じです。

functions.php をカスタマイズしたい場合は注意してください。

  • このエントリーをはてなブックマークに追加

無料メール講座

WordPress を活用している
社長、フリーランス、ウェブマーケターのための

ホームページ制作の 3 つの間違い
売上を上げるフレームワークを無料公開中……

無料メール講座

もっと楽に、簡単にホームページを作れないものだろうか?
もっと楽に、簡単にインターネットから集客できないものだろうか?
もっと楽に、簡単にインターネットから売上を上げられないものだろうか?

そんなことを思ったことがある方のために、このページを用意しました。

私たちは、ウェブマーケティングに携わる中で、多くの人が陥っているある「勘違い」に気づきました。

その勘違いとは・・・

コメント

  1. ビートおやじ より:

    こんにちは!^^
    この記事すごく役に立ちました。ありがとうございます。
    子テーマのfunctions.phpは、重複できないということでしたら
    親テーマのfunctions.phpの内容をコピーして子テーマのfunctions.phpに貼り付け後、親テーマのfunctions.phpの内容を削除すれば、エラーにならないってことですね。

    • PresentNote より:

      ビートおやじさん

      コメントありがとうございます。

      > 親テーマのfunctions.phpの内容を削除すれば、エラーにならないってことですね。

      そうですね。ただ親テーマは定期的にバージョンアップがあるので、
      その時親テーマの functions.php も更新され、エラーになると思います。

      • ビートおやじ より:

        お返事ありがとうございます^^
        そうですね、バージョンアップの時は気をつけないといけないですね。
        ありがとうございました。

  2. 苺飴 より:

    >もし、親テーマに記述してあることを改めて記述してしまうと、エラーが発生して WordPress が表示できなくなってしまいます。

    functions.php を子テーマのフォルダの中に作ってしまし、
    まさに今この失敗をしでかして(サイトが見れない状態に)パニック状態でした。
    本当にありがとうございます。こちらの記事に救われました。

    • PresentNote より:

      苺飴さん

      ありがとうございます。
      WordPressが突然真っ白になると焦りますよね。
      解決の助けになってよかったです。

  3. ふくすけ より:

    こんにちは、
    すごく分かりやすい記事でとても参考になりました。

    一つ質問よろしいですか?
    他のPHPファイルも同じように上書きはされないのでしょうか?
    たとえばheader.phpとかfooter.phpなど
    functions.phpと同様にカスタマイズ部分だけを記述すればよいのでしょうか?

    • PresentNote より:

      ふくすけさん

      コメントありがとうございます。

      他のPHPファイルは上書きできます。
      ただし、カスタマイズ部分だけではなく、まるまるコピーして書き換えてください。

      例えば header.php をカスタマイズしたい場合は、親テーマの header.php を子テーマにコピーして変更したい箇所のみを編集します。

コメントをどうぞ

メールアドレスが公開されることはありません。