おはモニ。
どうもひめたそん@himetasonです。
テーマのカスタマイズ、制作をしているとコードがどんどん増えていき、コメントアウトしていても迷子になります。
わかりやすく整理整頓すれば便利になりますしミスを発見するのも容易になりますね。

ということで今回はその中でも記述が増えていくfunctions.phpについての覚書です。
誰かの参考になれば幸いです。

functions.phpを用途別に分ける方法

さてfunctions.phpには大量のコードを書くと思います。
ウィジェット関係やカスタマイザー関係をはじめ、テーマの数のおおよそ数十倍は機能が詰め込まれますね。
それらをfunctions.phpにすべて記述してしまっては作成者も迷子になりますしカスタムする人も地獄です。
始めてfunctionsを書いた時に僕は地獄を見ましたよ。

任意の名前をつけたphpファイルの作成

用途別にphpを分けることはfunctionsに限る話ではありませんが、cssと並んで膨大化する部分ですよね。
そこでテーマフォルダの中に任意の(自分のわかりやすい)名前をつけて機能別に分けていこうという話です。
普段コーディングしているプログラマーであれば当たり前の話かもしれませんが、カスタマイズする人や初心者の方ですと意外とわからない部分ですよね。

というのもfunctions.phpを見ても目的の記述が見つからないことがあります。
それはそのテーマ内でしっかりfunctionsが分けられているからかもしれません。
そんな人にも参考になるかなと思いますよ。

僕の場合はテンプレートフォルダの中にfunctionというディレクトリを作り、その中に機能別のPHPファイルを作成しています。
例えばカスタマイザー用だったりカスタムフィールド用だったりとかですね。
既存のテーマファイルを覗いてみると良いかもしれません。

製作者の数だけ分け方が異なります
逆にいうとある程度自由に作れますからね。

作成自体は他のphpと変わりないので特に難しくはないと思いますよ。

分別したPHPをfunctions.phpで読み込む

機能別にPHPを書いたら次はfunctions.phpで読み込みます。
と言ってもこちらも説明する必要がないほどに簡単なんですがね。

[codebox title="functions.php"]
require_once('任意のディレクトリ');
[/codebox]

これだけです。
読み込むPHPの数だけ増やしていきましょう。

不具合が確認された時に読み込んだphpをコメントアウトしてチェックできるので開発中も楽になります。
僕の場合はウィジェット関係以外は全てphpファイルを分けていますね。

作る側としては簡単なのですが、カスタマイズする人にとってはちょっと複雑かもしれません。
冒頭の方に書いた通り自分の弄りたい機能が見つからない時にこれらを知っておくと見つかりますよ。

つまり先ほどのコードのrequireの部分を見つけたら他のphpを読み込んでいるということ。
その記述にあるディレクトリを探れば探すのも容易になりますね。
多機能なテーマほど複雑化しているので手探りより遥かに見つけやすいと思います。

あとがき

簡単な覚書ですが参考にしていただければと思います。
特にカスタマイズする人には役にたつかなと思いますよ。

同じようにCSSも分けられていたり、場合によってはfunctionなどで動的に吐き出されていたりするのでうまくデザインカスタムができない時はこの辺りを探ると答えがあるかもしれませんよ。

カスタムも良いですが作るのも楽しいです。
是非ブログが好きになったら次のステップとしてWebプログラミングも齧ってみてほしいですね。

それでは今回はこの辺で。

ではまた。

おすすめの記事