私は40以上のプラグインを持つかなり大きなWordPressプロジェクトに取り組んでいます。このプロジェクトに特化したカスタムメイドのプラグインも含まれています。
これはWordPressプラグインフォルダをナビゲートすることをかなり面倒にします。下の例のようにプラグインフォルダを「整理」することはできますか?
- plugins
- wp-plugins // All plugins downloaded from WordPress
- custom-plugins // All custom written plugins
簡単な答えはノーです。
WordPressはプラグインの作成者が プラグインコンテンツ関数 を使用してファイルを検索することを可能にするプラグインパスを定義し、これらはWordPressコンテンツ 定数 によって制御されますファイルに設定されているもの
wp-includes/default-constants.php
ただし、パスはカスタマイズ可能ですが、WordPressはこの1つの場所のみを検索します。これに対する唯一の例外は、WPが 必ず使用するプラグイン をスキャンする特別なフォルダmuplugin
を持つネットワークインストールです。
WordPressは実行時にプラグインをロードするために関数 wp_get_active_and_valid_plugins を呼び出しますが、ロードプロセスを変更するためのフックは提供しません。
ある意味でそれは可能です。
定義上のプラグインは、プラグインヘッダーを持つファイルで、プラグインディレクトリか、1つ下位の層にあります。すべてのカスタムプラグインがそれぞれ1つのファイルしかない場合は、必要に応じてディレクトリ構造を簡単に作成できます。より大きなプラグインも技術的にはこのようにして行うことができますが、開発POVからそれらのそれぞれの開発を管理し、更新フローを作成することはおそらく難しいでしょう。同じディレクトリ上の複数のサブツリーを管理するのは困難です。
モジュールを制御するコントロールパネルを使用して、1つの大きなプラグインをモジュールとして編成する方がはるかに簡単です。更新や削除のような機能はあなたのカスタムプラグインには関係ないので、これで十分です。
OTOHあなたはおそらくそれらのプラグインをあなたのテーマコードに移動することを考えるべきでしょう。コードをプラグインとして使用することによるオーバーヘッドはおそらくゼロですが、自分のコードの部分をこのように分離しても意味がありません。