はじめに
functions.phpにコードを追加する際、以下の2つの課題があります。
- 機能単位で管理できない
単なるテキストコードの羅列となり、機能ごとに整理できません。
- ファイルが大きくなる
コードが増えるとファイルが膨大になり、該当機能を探しにくくなります。
これらの課題は、プラグイン「Code Snippets」で解決できますが、Code Snippetsでエラーが発生すると、登録したコードをデータベース(テーブル名wp_snippets)から削除する必要があります。
そこで、functions.phpを複数のファイルに分割し管理します。
この記事では、この方法について説明します。
完成イメージ
子テーマ下のフォルダphp内の拡張子phpファイルを読み込みます。
- cocoon-child-master
- php
- functions1.php
- functions2.php
- functions3.php
- functions.php
- javascript.js
- style.css
- php
実装手順
以下のコードをfunctions.phpに追加します。
// 子テーマのフォルダを取得
$dir = get_stylesheet_directory();
// functionsフォルダ内のPHPファイルを取得
$files = glob($dir . '/php/*.php');
// ファイルが存在する場合、それぞれを読み込む
if ($files) {
foreach ($files as $file) {
include_once($file);
}
}
補足
さいごに
今回紹介した方法を使えば、functions.phpを機能単位で分割し、管理しやすくすることができます。
これにより、コードが増えてもファイルが膨大にならず、該当機能を探しやすくなります。
また、テーマエディターでfunctions.phpを編集する手間を省けるほか、FTPで該当フォルダーに作成・テストしたPHPファイルをアップロードするだけで済むため、機能ごとの追加や修正も手軽に行えます。


