functions.phpをスマートに分割管理する方法

Cocoonカスタマイズ集
この記事は約2分で読めます。
記事内に広告が含まれています。

はじめに

functions.phpにコードを追加する際、以下の2つの課題があります。

  1. 機能単位で管理できない
    単なるテキストコードの羅列となり、機能ごとに整理できません。
  1. ファイルが大きくなる
    コードが増えるとファイルが膨大になり、該当機能を探しにくくなります。

これらの課題は、プラグイン「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

実装手順

以下のコードをfunctions.phpに追加します。

// 子テーマのフォルダを取得
$dir = get_stylesheet_directory();

// functionsフォルダ内のPHPファイルを取得
$files = glob($dir . '/php/*.php');

// ファイルが存在する場合、それぞれを読み込む
if ($files) {
  foreach ($files as $file) {
    include_once($file);
  }
}

補足

他にもinclude、require、get_template_partを利用したファイル読み込む方法もあります。

さいごに

今回紹介した方法を使えば、functions.phpを機能単位で分割し、管理しやすくすることができます。
これにより、コードが増えてもファイルが膨大にならず、該当機能を探しやすくなります。

また、テーマエディターでfunctions.phpを編集する手間を省けるほか、FTPで該当フォルダーに作成・テストしたPHPファイルをアップロードするだけで済むため、機能ごとの追加や修正も手軽に行えます。

タイトルとURLをコピーしました