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