functions.phpが肥大化してきたら整理・分割しようと思った話
2025/05/15

気づけばfunctions.phpがカオスに
WordPressでオリジナルテーマを作っていると、だんだんfunctions.php
が膨れ上がってくる、という現象に悩まされるようになりました。
最初は軽い気持ちで数行書いただけのファイルだったのに、カスタム投稿タイプを追加したり、タクソノミーを登録したり、管理画面を少しカスタマイズしたり…といろいろ手を入れているうちに、気がつけば数百行に。
修正したい時に「あれ、どこだっけ?」問題
もちろん、それでも動作はするんですが、いざ修正や調整をしたくなったときに「あれ?あのコードどこに書いたっけ…?」と探す時間がどんどん増えていく。
これはちょっと効率悪いなと感じて、最近やっと整理に手をつけ始めました。
まずはグループ分け→その後ファイル分割
最初にやったのは、functions.phpの中身を「機能ごと」にグループ分けすること。
具体的には、以下のような単位でコメントをつけて区切りました。
- カスタム投稿タイプの定義
- タクソノミーの追加
- 管理画面の変更
- ウィジェットやメニューの登録
- ショートコードの処理
これだけでもかなり見やすくなります。
そのうえで「これは独立してもよさそうだな」と思った部分から、順次ファイルを分割していきました。
require_once get_template_directory() . '/functions/custom-post-type.php';
require_once get_template_directory() . '/functions/admin.php';
見やすくなるだけで作業効率が全然違う
この方式だと、後から「投稿タイプを増やしたい」と思った時に、そのファイルだけを見れば済むので本当に便利です。
注意点としては以下の2つ。
- ファイルの文字コードは UTF-8(BOMなし)
- 各ファイルの先頭には必ず
<?php
を書く
これさえ守れば、特にトラブルもなく分割できます。
結論:整理するだけで精神的にもラクになる
最近は「このテーマ、どこを修正すればいいかすぐ分かるな〜」と感じるようになって、やっぱり整理してよかったなと実感しています。
人に渡す機会がある場合はもちろん、自分だけで管理するテーマでも、スッキリしているだけで精神的にラクです。