ホームページ > CMS チュートリアル > &#&プレス > WordPressフックシステムを分類します

WordPressフックシステムを分類します

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-15 11:27:12
オリジナル
328 人が閲覧しました

Demystifying the WordPress Hook System

WordPressフックシステムの詳細な説明:アクション、フィルター、フック

WordPressは、実行またはPHPの解釈のさまざまな段階でフック(フック)を介してコアコンポーネント、テーマ、プラグインがイベントをトリガーするイベント駆動型アーキテクチャパターンを使用します。フックは主にアクションとフィルターに分割されます。アクションは、プロセス実行のさまざまな段階で機能を追加または削除するために使用されます。

WordPressのフックシステムにより、プラットフォームのスケーラビリティが向上し、コアコード、プラグイン、テーマに機能を追加、削除、変更できるため、開発者はコアソースコードを変更せずにプラグインとテーマを拡張できます。

フックシステムは、WordPress実行のさまざまな段階でトリガーされ、通常はdo_actions()およびapply_filters()PHP関数で使用されます。これらのイベントは、add_action()およびadd_filter()でサブスクライブまたはマウントできます。この記事では、例を介してアクションとフィルターがどのように使用されるかを示します。

フック、アクション、フィルターの意味

フックは、PHPの実行または解釈のさまざまな段階でのWordPressコア、テーマ、プラグインによってトリガーされたイベントを指します。これらのイベントがトリガーされると、これらのイベントに取り付けられたすべての機能および/またはクラスメソッドが正しい順序で実行されます。

アクションとフィルターは、プロセス実行のさまざまな段階で機能を追加または削除するために、2種類のフックです。

WordPress Hook Systemの重要性WordPressフックシステムの重要性は、そのスケーラビリティにあります。機能の追加と削除、およびWordPressコア、プラグイン、およびテーマの機能の実装を調整/変更できます。

コアソースコードを編集せずに他の開発者がそれらを改善および拡張できるようにする拡張可能なプラグインとテーマを作成します。

たとえば、

私の2チェックアウトWooCommerce Payment Gatewayプラグインには、チェックアウトページにサポートされているクレジットカードの種類を示すアイコンは含まれていません。これは不要だと思うからです。ただし、ユーザーのニーズが異なる場合に備えてフィルターを追加しました。

Demystifying the WordPress Hook System アイコンが含まれるというカスタマーサポートのリクエストを受け取りました。フィルターにフックしてアイコンを含むコードスニペットをクライアントに提供することができます。

WordPress Hook Systemの詳細な議論

WordPressの実行のさまざまな段階では、多数のイベントがトリガーされ、および

PHP関数が通常使用されます。これらのイベントは、

およびdo_actions()でサブスクライブまたはマウントできます。 apply_filters() add_action()以下は、プラグイン内のアクションの例です。このアクションは、ProfilEpressユーザー登録プラグインにユーザーを正常に登録した後に発生します。 add_filter() このアクションに添付されたすべての関数は、WordPressの実行中に処理されます。

WordPressコアの

the_contentは、各投稿のコンテンツをフィルタリングするフィルターフックの例です。

/**
 * Fires after a user registration is completed.
 *
 * @param int $form_id ID of the registration form.
 * @param mixed $user_data array of registered user info.
 * @param int $user_id ID of the registered user.
 */
do_action( 'pp_after_registration', $form_id, $user_data, $user_id );
ログイン後にコピー

注:

では、最初のパラメーターはアクションフックの名前であり、その後のパラメーターはアクション関数に接続するために使用できる変数です。 do_actions()

in

、最初のパラメーターはフィルターフックの名前であり、2番目のパラメーターは、機能が変更またはアプリケーションのためにフィルターに接続されているデータまたは値です。後続のパラメーターは、フィルターに取り付けるために使用できる変数/値です。 apply_filters()

アクションフックの例

例#1:

ProfilEpressプラグインの

アクションを使用して、機能を実装したいと仮定して、ユーザーは登録直後にウェルカムメッセージを受け取ります(仮想SMSサービスドリオを介して)。私たちの関数フックは次のようになります:pp_after_registration

    /**
     * Filter the post content.
     *
     * @since 0.71
     *
     * @param string $content Content of the current post.
     */
    $content = apply_filters( 'the_content', $content );
ログイン後にコピー

の3番目のパラメーターはフックの優先度であり、add_actionアクションに添付された関数の実行順序を指定します。空白のままにすると、デフォルトは10になります。 4番目のパラメーターは、関数フックが受け入れるパラメーターの数を指定します。空白のままになると、デフォルトは1になります。 pp_after_registration

例#2:

WordPressには、次のアクションフックが含まれています:

およびwp_head。これは、それぞれフロントエンドのヘッドタグとボディタグの終了の前に発射されます。 wp_footer

これらのフックを使用して、これらの戦略的な場所にスクリプトとデータを表示できます。

(以下のコンテンツは元のテキストに似ています。複製を避けるために、アクションフックとフィルターフックの残りの例と結論はここで省略されています)

(長さの理由により、FAQの部分も省略されています)

以上がWordPressフックシステムを分類しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート