フィルターの追加
フィルターを追加するプロセスは、2つのステップを含みます。
まず、フィルターが実行されるときに呼び出されるコールバック関数を作成する必要があります。次に、そのコールバック関数を関数を呼び出すフックに追加する必要があります。
add_filter()関数を使用し、少なくとも2つのパラメータを渡します:
- 1.
string $hook_name
これはフックするフィルターの名前です、そして - 2.
callable $callback
あなたのコールバック関数の名前です。
以下の例は、the_title
フィルターが実行されるときに実行されます。
function wporg_filter_title( $title ) {
return 'The ' . $title . ' was filtered';
}
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クラスを追加するには:
function wporg_css_body_class( $classes ) {
if ( ! is_admin() ) {
$classes[] = 'wporg-is-awesome';
}
return $classes;
}
add_filter( 'body_class', 'wporg_css_body_class' );