WordPressのadd_filter関数とadd_action関数、基本。

公開: 2021-08-24

開示:この投稿にはアフィリエイトリンクが含まれています。 この投稿の製品へのリンクをクリックすると、報酬を受け取る場合があります。 私の広告ポリシーの説明については、このページをご覧ください。 読んでくれてありがとう!

コンテンツ

  • WordPressのadd_filter関数とadd_action関数とは何ですか?
  • では、WordPressの「フック」とは正確には何ですか?
  • フック、フィルター、アクションの違いは何ですか?
  • WordPressのdo_actionとadd_actionの違いは何ですか?
  • アクションフックとフィルターフックの違いは何ですか?
  • フィルターはWordPressで何をしますか?
  • アクションはWordPressで何をしますか?
  • WordPressプラグインを微調整するときに、add_filterの前にadd_actionを使用できますか?
  • では、WordPressのadd_filterフックとadd_actionフックの本当の違いは何ですか?

WordPressのadd_filter関数とadd_action関数とは何ですか?

プラグインやテーマを手に入れたことはありますか?それを1つか2つ微調整するだけで完璧になりますか? ただし、これらの2つの調整では、コードを少し追加するだけで済みます。場合によっては、ショートコードを追加することもできます。

ただし、その前に、add_filterとadd_actionの基本的な概念、違い、およびWordPressでのそれらの動作を理解してから、ほぼ完全にコード化されたプラグインまたはテーマを完全に混乱させてください。

WordPressの「add_action」は、トリガー「フック」を作成するために使用するものです。 何かが起こったら、それから何か他のことをしなさい。

「add_filter」は、データを「フック」するために使用されます。つまり、変更/置換します。 たとえば、[some-code]がある場合は、それをsome-other-expanded-codeに変更します。

「フック」は、特定のフィルターまたはアクションの「関数」または「メソッド」です。 以下の「フック」の詳細。

WordPressは、プラグインが実行時にさまざまなタイプの内部データを変更できるようにするフィルターフックを提供します。 プラグインは、コールバックをフィルターフックにバインドすることでデータを変更できます。 フィルタが後で適用されると、バインドされた各コールバックが優先度の順に実行され、新しい値を返すことによって値を変更する機会が与えられます。

  • アクションは、出力を実行するPHP関数です。
  • フィルタは、出力を返すPHP関数です。

コードを変更せずに、アクションとフィルターを使用するプラグインを拡張できます。 独自のテーマまたはプラグインにフィルターとアクションを追加する。 これらがWordPressでどのように機能するかについて詳しく見ていきましょう。

では、WordPressの「フック」とは正確には何ですか?

フックは、特定の事前定義された場所で、あるコードが別のコードと相互作用/変更するための方法です。 これらは、プラグインとテーマがWordPress Coreと相互作用する方法の基盤を構成しますが、WordPressCore自体によっても広く使用されています。

フックには、アクションとフィルターの2種類があります。 どちらかを使用するには、「コールバック」と呼ばれるカスタム関数を作成し、それを特定のアクションまたはフィルター用のWordPressフックに登録する必要があります。 出典: WordPress.org

フック、フィルター、アクションの違いは何ですか?

前述のように、「フック」は基本的にフィルターとアクションの総称です。 どちらも、関数の通常の動作を変更することを目的としています。

プログラムの観点から言えば、 WordPressのソースコードで「アクション」を追加することは「フィルター」を追加することと同じであるという事実からわかるように、大きな違いはありません

違いは、それらの使用方法にあります。 「アクション」を使用して、関数の動作を完全に変更したり、既存の関数に何かを追加したりします。

「フィルター」を使用して、関数または変数の結果を変更します。

WordPressのdo_actionとadd_actionの違いは何ですか?

「do_action」は「アクションフック」を登録し、「add_action」は登録されたフックにコールバック関数を追加します。

アクションフックとフィルターフックの違いは何ですか?

アクションフック

「アクションフック」は、WordPressのコアまたはプラグインまたはテーマが、特定のタスクまたは「アクション」を実行するために、コード内の特定のポイントにコードを挿入する機会を提供する場合に使用することを目的としています。

フィルターフック

「フィルターフック」は「アクションフック」と非常によく似た動作をしますが、その使用目的は、値を受け取り、その値の変更されたバージョンを返す可能性があることです。

「フィルターフック」は、「アクションフック」と同じように使用することもできます。つまり、フックが呼び出されたときに実行する必要があると仮定して、グローバル変数を変更したり、HTMLを生成したりできます。

フィルターはWordPressで何をしますか?

「フィルター」は、受け取った情報を取得して変更し、返します。 つまり、何かをフィルタリングしてフックに戻し、さらに使用できるようにします。

したがって、フィルターを使用して特定の方法で何かを変更し、後でコードで変更が使用されるようにします。

アクションはWordPressで何をしますか?

「アクション」は、受け取った情報を受け取り、コーディングで指定された命令を実行して、何も返しません。 基本的に、それは何かに作用してから終了し、呼び出し元のフックには何も返しません。

アクションは、コードフローを中断して何かを実行し、その後、何も変更せずに通常のフローに戻ります。

したがって、「フィルター」がパラメーターまたは命令のセットである場合、「アクション」は命令の実行です。

WordPressプラグインを微調整するときに、add_filterの前にadd_actionを使用できますか?

基本的に、add_action()とadd_filter()を使用する順序は関係ありません。

重要なのは、対応するdo_action()とapply_filters()が呼び出される順序です。

したがって、たとえば「apply_filters」(「wp_insert_post_data」)が「do_action」(「save_post」)の前に実行された場合、それは機能しません。 あなたはあなたが求めている結果を得るために別の方法を考えなければならないでしょう。

では、WordPressのadd_filterフックとadd_actionフックの本当の違いは何ですか?

実際には、「フィルターフック」は「アクションフック」のスーパーセットです。 「フィルターフック」は、「アクションフック」ができることなら何でもできます。 開発者には、「フィルターフック」で行うような「アクションフック」で値を返す責任はありません。

「フィルターフック」は基本的にタスクのパラメーターを定義し、「アクションフック」はタスクを実行します。 「add_filter」フックと「add_action」フックの違いの詳細については、 WordPress.orgの開発者セクションにあるこの公式のWordPressドキュメントを確認してください。