入門
最も簡単な例では、WordPress プラグインは、WordPress プラグインのヘッダーコメントを含む PHP ファイルです。 プラグインのすべてのファイルが1か所に整理されるように、プラグインを保持するディレクトリを作成することを強くお勧めします。
新しいプラグインの作成を開始するには、以下の手順に従ってください。
- WordPress インストールの wp-content ディレクトリに移動します。
- プラグインディレクトリを開きます。
- 新しいディレクトリを作成し、プラグインにちなんで名前を付けます(例:plugin-name)。
- 新しいプラグインのディレクトリを開きます。
- 新しい PHP ファイルを作成します(プラグインにちなんでこのファイルに名前を付けるとよいでしょう(例:plugin-name.php))。
Unix コマンドラインでのプロセスは次のとおりです。
wordpress$ cd wp-content wp-content$ cd plugins plugins$ mkdir plugin-name plugins$ cd plugin-name plugin-name$ vi plugin-name.php
上記の例では、「vi」はテキストエディタの名前です。 使いやすいエディタを使用してください。
新しいプラグインの PHP ファイルを編集したら、プラグインヘッダーコメントを追加する必要があります。 これは、プラグインに関する名前、作成者、バージョン、ライセンスなどのメタデータを含む、特別にフォーマットされたPHPブロックコメントです。プラグインヘッダーのコメントは、ヘッダーの要件に準拠し、少なくともプラグインの名前を含む必要があります。
プラグインのフォルダー内の1つのファイルにのみヘッダーコメントを含める必要があります。プラグインに複数の PHP ファイルがある場合は、そのうちの1つのファイルにのみヘッダーコメントを含める必要があります。
<?php
/**
* Plugin Name: YOUR PLUGIN NAME
*/
ファイルを保存すると、WordPress サイトにプラグインが一覧表示されます。 WordPress サイトにログインし、WordPress 管理画面の左側のナビゲーションペインで[プラグイン]をクリックします。 このページには、WordPress サイトにあるすべてのプラグインのリストが表示されます。 新しいプラグインがリストに追加されました!
フック:アクションとフィルター
WordPress フックを使用すると、特定のポイントで WordPress をタップして、コアファイルを編集せずに WordPress の動作を変更できます。
WordPress には、アクションとフィルターの2種類のフックがあります。 アクションを使用すると、WordPress の機能を追加または変更できますが、フィルターを使用すると、Web サイトユーザーにロードおよび表示されるコンテンツを変更できます。
フックはプラグイン開発者だけのものではありません。 フックは、WordPress コア自体によってデフォルトの機能を提供するために広く使用されています。 他のフックは未使用のプレースホルダーであり、WordPress の動作を変更する必要があるときに簡単に利用できます。 これが WordPress の柔軟性を高める理由です。
基本的なフック
プラグインを作成するときに必要な3つの基本的なフックは、register_activation_hook()、register_deactivation_hook()、およびregister_uninstall_hook()です。
アクティベーションフックは、プラグインをアクティベートするときに実行されます。 これを使用して、プラグインをセットアップする機能を提供します。たとえば、オプションテーブルにいくつかのデフォルト設定を作成します。
プラグインを非アクティブ化すると、非アクティブ化フックが実行されます。 これを使用して、プラグインによって保存された一時データをクリアする機能を提供します。
アンインストールフックは、WordPress Adminを使用してプラグインを削除した後にクリーンアップするために使用されます。 これを使用して、オプションテーブルに追加されたオプションなど、プラグインによって作成されたすべてのデータを削除します。
フックを追加する
do_action() を使用して独自のカスタムフックを追加できます。これにより、開発者は、フックに関数を渡すことでプラグインを拡張できます。
フックを削除します
また、以前に定義された機能を削除するには remove_action() を呼び出して使用することができます。 たとえば、プラグインが別のプラグインのアドオンである場合、以前のプラグインで add_action() で追加された同じ関数コールバックで remove_action() を使用できます。 remove_action() は最初の add_action() の後に実行する必要があるため、これらの状況ではアクションの優先度が重要です。
フックからアクションを削除するとき、および優先順位を変更するときは注意してください。これらの変更が同じフックを使用する他の連携にどのように影響するかを確認するのは困難です。 頻繁にテストすることを強くお勧めします。
このハンドブックの「フック」セクションで、フックの作成とそれらの操作に関する詳細を学ぶことができます。
WordPress APIs
WordPress が多数のアプリケーションプログラミングインターフェイス(API)を提供していることをご存知ですか? これらの API を使用すると、プラグインで記述する必要があるコードを大幅に簡素化できます。 特に多くの人が多くの仕事とテストを行ったとき、あなたは同じような機能を再開発したくはないですよね。
最も一般的なものは Options API であり、プラグインのデータベースにデータを簡単に保存できます。 プラグインで cURL を使用することを考えている場合は、HTTP API が興味を引くかもしれません。
プラグインについて説明しているので、Plugin API を調べてください。 プラグインの開発を支援するさまざまな機能があります。
WordPress がプラグインを読み込む方法
WordPress は、インストールされているプラグインのリストを WordPress Admin の[プラグイン]ページに読み込むと、プラグインフォルダー(およびそのサブフォルダー)を検索して、WordPress プラグインヘッダーコメント付きの PHP ファイルを見つけます。 プラグイン全体が Hello Dolly などの単一の PHP ファイルのみで構成されている場合、ファイルは plugins フォルダーのルート内に直接配置できます。 しかし、より一般的には、プラグインファイルは、プラグインにちなんで命名された独自のフォルダーに存在します。
プラグインを共有する
作成するプラグインがサイト専用である場合があります。 しかし、多くの人々はプラグインを他の WordPress コミュニティと共有することを好みます。 プラグインを共有する前に、必要なことはライセンスを選択することです。 これにより、プラグインのユーザーは、コードの使用方法を知ることができます。 WordPress コアとの互換性を維持するには、 GNU General Public License(GPLv2 +) で動作するライセンスを選択することをお勧めします。
このページの原文はこちら(Plugin Basics)です。