WordPressでfunctions.phpを分割して管理する

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ファイルずつ指定して読み込ませる方法に変更するようにしてください。

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

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930