arcanum_jp’s blog

おっさんの日記

ワードプレスでfunctions.phpに書きすぎた!ファイル分割したい

ワードプレスで拡張してるとどんどんfunctions.phpに追加していくと思います。正直これ当初から嫌だったんですよね。もともとあったものとは別にどんどん追加していけないかなと・・・その方がfunctions.phpを間違えて汚くしてしまう可能性も排除できますし、後々テーマ変えるにしてもテーマを更新するにしても便利ですよね。
でも自分はまだワードプレス初心者、そう言う仕組みだから仕方がない。そう思ってました。そしてどんどん追加していくんですが、追加した機能をどこか別のファイルにできないか?って思うのですよね。やっぱり嫌なものは嫌なのです。と言う事で調べてみたらあったのです。

あったのです!


get_template_part( )を使う

PHPだからrequire関数でおkかな?と思っていたのですがワードプレス側の関数でget_template_partと言う関数があったみたいです。functions.phpに書いてしまった関数などをmyfuncs.phpみたいなのに移動します。こんな感じのディレクトリ構成になります。

[テーマのディレクトリ]
  +ーー functions.php
  +ーー [mylib]
       +ーー myfuncs.php


あとはサイト内でワードプレスなどの更新の際に更新される可能性のないファイル、wp-config.phpあたりに以下の一文を追加します。

get_template_part('mylibs/myfuncs');

これでfunctions.phpを汚染する事なく自分の関数を追加する事ができるようなりました。めでたしめでたし。

その他、この関数は第二関数でテンプレート名を渡したりできるそうですがそれはまた調べたら書こうと思います。