WordPressのテーマをカスタマイズしていくとfunctions.phpのコードが長くなりがちなので、functions.phpを分割して管理する方法を試してみます。
サンプルコード
今回はfunctionsフォルダを作成して、分割するファイルをその中に格納する想定で実装してみます。
今回は以下のような構成になっていますが、分割するファイル内容や構成は適宜変更してください。
- functions
- admin.php
- custompost.php
- init.php
- shortcode.php
- functions.php
分割したファイルをfunctions.phpに読み込ませる方法ですが、PHPのglob()でfunctionsフォルダ内のファイルパスを一式取得した上で、require_onceで読み込むようにします。
$files = glob(get_template_directory()."/functions/*.php"); foreach($files as $file) { require_once $file; }
これでfunctions.phpの中身を機能単位で分割して管理ができるようになりました。
注意点として、この読み込み方法だとfunctionsディレクトリ内のファイル増減に応じてfunctions.phpの変更が不要な反面、読み込みの順番は制御ができません。
読み込み順によって処理に影響が出るような分割方法は避けるようにするか、functions.php内で1ファイルずつ指定して読み込ませる方法に変更するようにしてください。
コメントが承認されるまで時間がかかります。