WordPressのフィルターとは何ですか?WordPressのadd_filterの使い方は?

WordPressのフィルターとは何ですか?

WordPress フィルタは、データベースに返されユーザーに表示される前にデータを修正するフックです。その結果、WordPress のコアファイルを変更することなく、プラグイン、テーマ、ウェブサイトの機能をカスタマイズすることができます。 例えば、すべての投稿に脚注を追加したり、抜粋の長さを変更したりできます。一般的なフィルターフック関数には、add_filter、remove_filter、has_filter、doing_filter の4つがあります。

图片[1]-WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?-光子波动网 | 专业WordPress修复服务,全球范围,快速响应

WordPressフィルターの仕組み

フィルタはWordPressから渡されたデータをインターセプトします。指定された機能に従ってデータを修正し、ユーザーのウェブブラウザに表示します。次のコードを見てください:

// フィルタとコールバック関数を指定します。
   add_filter( 'example_filter', 'example_callback' ); // コールバック関数を定義します。
   // コールバック関数を定義します。
   function example_callback( $example ) { // コールバック関数を定義します。
      // $exampleを連結して変更します。
      $example . ' 最後にテキストを追加 '; return $example; $example .
      return $example; }.
   }

以下はその例の説明です:

  1. 使う追加フィルター関数は、データを変更するフィルタを設定します。この例では、フィルター名は例フィルタ.
  2. WordPressがフィルタを見つけたときに実行するコールバック関数を定義します。例_コールバック.
  3. コールバック関数が1TP4サンプルパラメータが示すデータ。スニペットでは、最後にフルストップを使って文とつなげます。
  4. 使う戻りメソッドは、変更されたデータをユーザーのWebブラウザに表示します。

フィルターフックをWordPressサイトに適用するには、現在アクティブなテーマのfunctions.phpドキュメンテーション

图片[2]-WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?-光子波动网 | 专业WordPress修复服务,全球范围,快速响应

にコードを追加することをお勧めします。サブテーマ書類をテーマルートフォルダに追加して、テーマの更新後にコードが失われるのを防ぎます。あるいは、テーマルートフォルダにフィルターフックを格納する別のファイルを作成し、functions.php ファイルでそれを呼び出します。こうすることで、コードがより整理され、テーマの更新時に失われることがなくなります。

include _once( get_template_directory(), '/yourfilename.php':'.

テーマのルートフォルダにアクセスできない場合は、WordPressの管理ダッシュボードから直接カスタムコードを追加できるプラグインをインストールしてください。このタスクのためのプラグインが利用可能ですコードスニペット.

注目してください:修正functions.phpファイルにアクセスすると、エラーが発生したり、サイトにアクセスできなくなることがあります。このような事態を避けるためバックアップの作成.

WordPress add_filter パラメータ

ワードプレス 追加フィルターこの関数には4つの引数があります。それぞれの引数を以下に示します:

  • フック名.にフックしたいコールバック関数を指定します。 フィルター名
  • コールバック関数.フィルタが適用されたときに実行されるコールバック関数。
  • 優先順位.フィルタに関連付けられた関数の実行順序を指定するオプションのパラメータです。デフォルト値は10 数字が小さければ小さいほど、実施時期が早くなります。
  • 受け入れ可能な引数.フック関数に渡す引数の数。このパラメータはオプションで、デフォルト値は1.

関数と引数の構文は以下の通りです:

add_filter( hook_name, callback_function, priority=1、
   accepted_arguments=1);

WordPressの投稿抜粋の長さを変更するWordPressのadd_filterの例:

関数 custom_excerpt_length( $length ) { // この数値を変更します。
    return 20; // ここで数値を変更し、抜粋の長さを調整します。
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
图片[3]-WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?-光子波动网 | 专业WordPress修复服务,全球范围,快速响应

この例では、custom_excerpt_lengthというカスタム関数を作成し、抜粋の長さを示す$lengthというパラメータを1つ受け取ります。そして、この関数をadd_filter関数の引数として渡し、フィルタの名前(excerpt_length)とカスタム関数の名前を指定します。最後の 999 パラメータは優先度を示し、ここではフィルタが最後に適用されるように高い値に設定します。

特定の投稿カテゴリーに画像を表示

WordPressのフィルターフックを使うと、特定のIDやカテゴリーを持つ投稿をカスタマイズすることができます。以下のコードスニペットでは、プレミアムカテゴリーに属する各投稿にアイコンを追加しています:

add_filter( 'the_content', 'add_disclaimer' );
   関数 add_disclaimer( $content )
   {
      // コンテンツを連結して変更します。
      return $content .
      "<br><center><strong>すべての文章と意見は私自身のものです。
   }

この例ではthe_contentフィルターに接続します。wpb_content_filterコールバック関数のフック。この関数は、フィルタを適用する条件を指定します。

この場合 投稿者高いレベルカテゴリに画像を追加すると、フィルタ機能がコンテンツを変更します。

图片[4]-WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?-光子波动网 | 专业WordPress修复服务,全球范围,快速响应

表示商品数の変更

フィルターはオンラインショップをカスタマイズするためにeCommerceプラグインを変更することもできます。例えば、以下のカスタマイズコードはWooCommerceプラグインに表示される商品数を変更します:

add_filter('storefront_products_per_page','alter_sf_products_per_page' );
   関数 alter_sf_products_per_page()
   関数 alter_sf_products_per_page()
      // デフォルト値を変更します
      function alter_sf_products_per_page() { // デフォルト値を変更します。
   }

コードスニペットではストアフロントの商品ページ数カスタムフィルターを変更します。関数フックを呼び出します。データがこの関数を通過すると、フィルタはこの関数を呼び出して12変更3を作成し、ユーザーのブラウザに表示します。

图片[5]-WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?-光子波动网 | 专业WordPress修复服务,全球范围,快速响应

その他の人気のWordPressフィルター

add_filter に加えてこれに加えて、開発者がフィルターフックで使える機能がいくつかあります。

フィルタの削除 ()

この関数は特定のフィルタにフックされている関数を削除します。 ウェブ開発者は、コードを完全に削除することなく WordPress のデフォルト関数を削除するためにこの関数をよく使います。構文は次のとおりです:

remove_filter( hook_name, callback_function, priority = 10 );

フィルタ実行()

この関数は、他の関数が現在実行中かどうかをチェックします。フック名を引数にとり真のもしかしたら無実戻り値。コードは以下の通りです:

if doing_filter( 'hook_name' )
{
// フィルタが実行中ならスクリプトを実行
}
图片[6]-WordPress 中的过滤器是什么?如何使用 WordPress add_filter ?-光子波动网 | 专业WordPress修复服务,全球范围,快速响应

はい_フィルタ()

has_filter 関数は、フックにフィルタが正常に適用されたことを確認します。最初の引数にフィルタ名、オプションの2番目の引数にコールバック関数を取ります。

特定の関数をチェックするには、2番目のパラメータを含める必要があります。そうでない場合は真ので、任意の関数がフィルタにフックされていることを示します。この関数のコードは以下の通りです:

has_filter( 'hook_name', 'callback_function' );

概要

フィルタは、ウェブサイトに表示する前にデータを変更するために使用される WordPress フックです。 ウェブ開発者は、ウェブサイトに機能を追加するためにプラグインやテーマをカスタマイズするために使用します。

フィルターフックは、WordPressから渡されるデータを傍受し、必要に応じて変更し、訪問者のブラウザに表示します。フィルタを設定するには、フィルタフックをテーマのfunctions.phpファイルにadd_filterを記述します。関数にフック名とコールバック関数を引数として渡します。

フィルターフックの使用例には、記事の抜粋の長さを変更したり、ウェブサイトの投稿に免責事項を追加したりすることが含まれます。さらに追加フィルターその他の機能としてはremove_filterそしてdoing_filter歌で応えるhas_filter.


お問い合わせ
記事が読めない?無料でお答えします!個人サイト、中小企業サイトのための無料ヘルプ!
電話:020-2206-9892
QQ咨询:1025174874
Eメール:info@361sale.com
勤務時間: 月~金、9:30~18:30、祝日休み
© 複製に関する声明
この記事を書いた人: Xiesong
終わり
好きなら応援してください。
クドス0 分かち合う
xiesong的头像-光子波动网 | 专业WordPress修复服务,全球范围,快速响应
解説 合計 1

コメントを投稿するにはログインしてください