これは、WordPressプラグインの作成方法に関する質問ではありません。むしろ、もしあれば、プラグインのファイルアーキテクチャをまとめる方法に適用できるガイドがあります。
他のいくつかのプログラミング言語またはライブラリには、ディレクトリとファイルを整理する非常に制御された方法があります。これは迷惑で、PHPが提供する自由を際立たせることもありますが、一方で、WordPressプラグインは作成者が決めたように、あらゆる方法でまとめられます。
正しい答えはありませんが、私と他の人がプラグインをどのように構築して他の開発者がより使いやすく、デバッグしやすく、ナビゲートしやすく、おそらくより効率的にするかを改善することを望んでいます。
最後の質問:プラグインを整理する最良の方法は何だと思いますか?
以下にいくつかのサンプル構造を示しますが、決して完全なリストではありません。独自の推奨事項を自由に追加してください。
想定されるデフォルト構造
/wp-content
/plugins
/my-plugin
my-plugin.php
モデルビューコントローラー(MVC)メソッド
/wp-content
/plugins
/my-plugin
/controller
Controller.php
/model
Model.php
/view
view.php
my-plugin.php
MVCの3つの部分:
- モデルのデータベースとの相互作用、データを照会し、保存、およびロジックが含まれています。
- コントローラは、ビューが利用するであろうことを、テンプレートタグや機能が含まれています。
- ビューは、コントローラによって構成されたモデルによって提供されるデータを表示するために責任があります。
タイプメソッド別に整理
/wp-content
/plugins
/my-plugin
/admin
admin.php
/assets
css/
images/
/classes
my-class.php
/lang
my-es_ES.mo
/templates
my-template.php
/widgets
my-widget.php
my-plugin.php
WordPressプラグインボイラープレート
Githubで利用可能
プラグインAPI、コーディング標準、およびドキュメント標準に基づいています。
/wp-content
/plugins
/my-plugin
/admin
/css
/js
/partials
my-plugin-admin.php
/includes
my_plugin_activator.php
my_plugin_deactivator.php
my_plugin_i18n.php
my_plugin_loader.php
my_plugin.php
/languages
my_plugin.pot
/public
/css
/js
/partials
my-plugin-public.php
LICENSE.txt
README.txt
index.php
my-plugin.php
uninstall.php
緩やかに組織化された方法
/wp-content
/plugins
/my-plugin
css/
images/
js/
my-admin.php
my-class.php
my-template.php
my-widget.php
my-plugin.php
css/
、images/
とjs/
なりstyles/
、images/
とscripts/
。