WordPressプラグインの初心者:WordPressプラグインボイラーの使用
WordPressプラグインの開発には、学習曲線が低く、プラグインを構築する方法だけがありません。プラグインは、Hello Dollyと同じくらい簡単で、さまざまなニーズや機能に基づいて非常に複雑な方法で構築できます。 WordPressプラグインボイラープレートは、次の優れたプラグインを構築するのに役立つ標準化された高品質の基礎を提供するように設計されています。このシリーズの最初の部分では、ファイルとフォルダーの構造、およびボイラープレートのコード組織など、ボイラープレートを深く探索します。
キーポイント
背景
WordPressプラグインボイラープレートは、WordPressプラグインを構築するための標準化されたオブジェクト指向のアプローチを提供するために、Tom McFarlinによってもともと開始されました。ボイラープレートはプラグインAPIの上に構築されており、WordPressが推奨するコーディングおよびドキュメントの基準に従うため、安全で信頼できる環境にいることを確認できます。ボイラープレートは最近バージョン3.0.0に更新され、コード組織の大幅な改善とプラグインの内部焦点のさらなる分離がもたらされました。レガシーボイラープレート(v2.6.2)を使用したプラグインの開発にすでに精通している場合は、新しいフォルダー構造を含む最新バージョンで新しいものを再学習するのに時間がかかる場合があります。このボイラープレートは、トムマクファーリン自身(執筆時点で)によってもはや維持されておらず、彼はバトンをデビンヴィンソンに渡しました。開発はまだ計画どおりに継続されているため、質問がある場合はGitHubリポジトリに自由に報告してください。また、貢献を歓迎します。
テンプレートのコピーを取得
WordPressプラグインのボイラープレートコピーを取得する最も簡単な方法は、GITリポジトリ自体をクローンすることです。
<code>git clone https://github.com/DevinVinson/WordPress-Plugin-Boilerplate.git</code>
またはGitHubリポジトリからzipファイルをいつでもダウンロードできます。バージョン3.0.0がリリースされるため、プラグインをWP-Content/Pluginsディレクトリに直接コピーするだけではありません。これは、プラグインの実際のソースコードがルートディレクトリに含まれていないが、実際にはトランクと呼ばれるサブディレクトリにあるためです。今これについて心配しないでください。この記事の後半で新しいフォルダー構造について説明します。 readme.mdファイルは、ボイラープレートを適切に取り付ける方法の完全な説明を詳述します。要するに、あなたは:
これを行った後、管理パネルのプラグインのリストにWordPressプラグインボイラープレートと呼ばれるプラグインを見つける必要があります。プラグインをアクティブにして開始するだけです!
オンラインジェネレーターを使用してプラグインをカスタマイズします
アクティブ化されると、少なくとも今のところは基本的に何もしない「通常の」プラグインがあります。また、検索を実行し、ボイラープレートコードベース全体で操作を交換する必要があります。これは非常に退屈で時間がかかる場合があります。幸いなことに、Enrique Chavezはプロセスを自動化する非公式ジェネレーターを作成しました。 https://www.php.cn/link/6340831392e9cd8af9598274f4b3c5c0にアクセスし、ページの下部にあるフォームに記入して、ワードプレスプラグインのテンプレートのパーソナライズコピーを生成します。
フォルダー構造
WordPressプラグインボイラープレート3.0.0が古いバージョンと比較してどのように整理されているかを詳しく見てみましょう。前述のように、実際のプラグインコードは、ルートディレクトリではなく、トランクと呼ばれるサブディレクトリに含まれています。これは、アセット、ブランチ、トランクの3つの主要なディレクトリを含む公式のWordPressプラグインリポジトリで使用される標準に従うことです。ボイラープレートは、すでに2つの資産とトランクを提供しています。これがボイラープレートに含まれる完全なディレクトリとファイルです(執筆時点で):
<code>git clone https://github.com/DevinVinson/WordPress-Plugin-Boilerplate.git</code>
以下は、各ファイルとフォルダーの関数の簡単な説明です。
.gitignore
:GITリポジトリに存在しないでください。 .gitignore
CHANGELOG.md
README.md
assets
trunk
admin
、admin
、css
です。名前が示すように、すべての管理指向の機能をここに配置する必要があります。デフォルトでは、js
およびpartials
がWP-Adminに追加されます。 plugin-name-admin.js
は、管理固有のフックを定義できる一般的な機能を提供します。 plugin-name-admin.css
class-plugin-name-admin.php
public
ディレクトリがすべてのパブリックに向かう機能コードベースを保存するために使用されることです。 admin
public
languages
.pot
includes
LICENSE.txt
README.txt
plugin-name.php
が登録されます。 register_activation_hook
register_deactivation_hook
前述のように、ディレクトリには5つのデフォルトクラスがあります。各クラスが何をしているのか見てみましょう:
class-plugin-name-activator.php
:このクラスは、プラグインのアクティベーション中にインスタンス化されます。静的メソッドは1つしかなく、activate()
に登録されています。カスタムテーブルの作成やデフォルトオプションの保存など、プラグインがアクティブになったときに特定のアクションを実行する必要がある場合はいつでもこのクラスを使用します。 register_activation_hook
class-plugin-name-deactivator.php
。また、プラグインの非アクティブ化中に任意の機能を実行するために使用できる静的メソッドは1つだけです。 class-plugin-name-deactivator.php
deactivate()
class-plugin-name-i18n.php
$domain
set_domain()
:テンプレートで最も重要なクラス。プラグインに登録されているすべてのフックが保存される2つのプロパティload_plugin_textdomain()
とclass-plugin-name-loader.php
プロパティに追加するために、2つの単純なラッパー関数$actions
および$filters
を提供します。これは、そのようなクラスが実際に直接登録していないため、WordPressのデフォルトadd_action()
およびadd_filter()
関数と混同しないでください。すべてのフックは、$actions
と呼ばれる別の方法でのみ登録されます。 $filters
add_action()
add_filter()
:すべての部分を接着するクラス。プラグインの名前やバージョンなど、プラグインに関する重要な情報が含まれています。さらに、上記の4つのクラスを含むrun()
メソッドを使用して依存関係をロードし、プラグインテキストフィールドはclass-plugin-name.php
のインスタンスを保持するためのメソッドを提供します。 load_dependencies()
set_locale()
get_plugin_name()
get_version()
結論get_loader()
class-plugin-name-loader.php
要するに、WordPressプラグインボイラープレートは、プラグイン開発者に最適な出発点を提供します。これにより、推奨されるWordPressコーディング標準とWordPressドキュメント標準に従うため、最初から正しいパスにいることがわかります。さらに、WordPressプラグインリポジトリへの公開は、必要なもののほとんどをすでに提供しているため、簡単になります。コード組織とフォルダー構造に精通したら、このシリーズの第2部でWordPressプラグインボイラープレートを使用して実際のプラグインを開発する方法を探ります。 以上がWordPressプラグインボイラープレートを使用して開発をスピードアップしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。