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

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

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

畫像[1] - WordPressのフィルターとは何ですか?WordPressのadd_filterの使い方 ?-Photonflux.com|プロフェッショナルなWordPress修理サービス!

WordPressフィルターの仕組み

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

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

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

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

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

畫像[2] - WordPressのフィルタとは何ですか?WordPressのadd_filterの使い方 ?-Photonflux.com|プロフェッショナルなWordPress修理サービス!

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

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

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

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

WordPress add_filter パラメータ

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

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

関數(shù)と引數(shù)の構(gòu)文は以下の通りです:

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

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

関數(shù) custom_excerpt_length( $length ) { // この數(shù)値を変更します。
    return 20; // ここで數(shù)値を変更し、抜粋の長さを調(diào)整します。
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
畫像[3] - WordPressのフィルターとは何ですか?WordPressのadd_filterの使い方 ?-Photonflux.com|プロフェッショナルなWordPress修理サービス!

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

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

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

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

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

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

畫像[4] - WordPressのフィルターとは?WordPressのadd_filterの使い方 ?-Photonflux.com|WordPressのプロフェッショナルな修理サービス!

表示商品數(shù)の変更

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

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

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

畫像[5] - WordPressのフィルターとは?WordPressのadd_filterの使い方 ?-Photonflux.com|プロフェッショナルなWordPress修理サービス!

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

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

フィルタの削除 ()

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

remove_filter( hook_name, callback_function, priority = 10 );

フィルタ実行()

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

if doing_filter( 'hook_name' )
{
// フィルタが実行中ならスクリプトを?qū)g行
}
畫像[6] - WordPressのフィルターとは?WordPressのadd_filterの使い方 ?-Photonflux.com|プロフェッショナルなWordPress修理サービス!

はい_フィルタ()

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

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

has_filter( 'hook_name', 'callback_function' );

概要

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

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

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


お問い合わせ
チュートリアルが読めない?無料でお答えします!個人サイト、中小企業(yè)サイトのための無料ヘルプ!
カスタマーサービス WeChat
カスタマーサービス WeChat
電話:020-2206-9892
QQ咨詢:1025174874
Eメール:info@361sale.com
勤務(wù)時間: 月~金、9:30~18:30、祝日休み
? 複製に関する聲明
この記事を書いた人: Xiesong
終わり
好きなら応援してください。
クドス0 分かち合う
おすすめ
解説 合計 1

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