フィルターの追加

フィルターを追加するプロセスは、2つのステップを含みます。

まず、フィルターが実行されるときに呼び出されるコールバック関数を作成する必要があります。次に、そのコールバック関数を関数を呼び出すフックに追加する必要があります。

add_filter()関数を使用し、少なくとも2つのパラメータを渡します:

  • 1. string $hook_name これはフックするフィルターの名前です、そして
  • 2. callable $callback あなたのコールバック関数の名前です。

以下の例は、the_titleフィルターが実行されるときに実行されます。

  1. function wporg_filter_title( $title ) {
  2. return 'The ' . $title . ' was filtered';
  3. }
  4. add_filter( 'the_title', 'wporg_filter_title' );

「Learning WordPress」という投稿タイトルがあるとしましょう。上記の例は、それを「The Learning WordPress was filtered」に変更します。

利用可能なフックのリストについては、Hooks章を参照してください。

経験を積むにつれて、WordPress Coreのソースコードを調べることで、最も適切なフックを見つけることができます。

追加のパラメータ

add_filter()は、コールバック関数に与えられる優先度のためのint $priorityと、コールバック関数に渡される引数の数のためのint $accepted_argsという2つの追加パラメータを受け入れることができます。

これらのパラメータの詳細な説明については、Actionsに関する記事をお読みください。

特定の条件が満たされたときに<body>タグにCSSクラスを追加するには:

  1. function wporg_css_body_class( $classes ) {
  2. if ( ! is_admin() ) {
  3. $classes[] = 'wporg-is-awesome';
  4. }
  5. return $classes;
  6. }
  7. add_filter( 'body_class', 'wporg_css_body_class' );