概要
add_filter
フィルタは、WordPressのフックの一つであり、特定のデータをフィルタリングするための関数です。プラグインやテーマを通じてデータを変更したり、カスタマイズしたりする際によく使用されます。以下のような機能を実装する際に特によく使われます。
- コンテンツのカスタマイズ
- 特定のURLの変更
- メール通知の修正
- 投稿のメタデータの追加
- ウィジェットの設定変更
- スタイルやスクリプトの追加
- セキュリティ設定の変更
- APIレスポンスのカスタマイズ
構文
add_filter( $tag, $function_to_add, $priority, $accepted_args );
パラメータ
$tag
(string): フィルタの名前。$function_to_add
(callable): フィルタ関数の名前またはコールバック。$priority
(int): フィルタの実行順序(デフォルトは10)。$accepted_args
(int): 受け入れる引数の数(デフォルトは1)。
戻り値
この関数は、フィルタが追加された場合には、そのフィルタの名前を返します。
関連する関数
使用可能なバージョン
add_filterはWordPress 1.5から使用可能です。
コアファイルのパス
このフィルタは、wp-includes/plugin.php
に含まれています。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | 〇 |
registered_post_type | 〇 |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | 〇 |
after_setup_theme | 〇 |
set_current_user | |
init | 〇 |
register_sidebar | 〇 |
wp_loaded | 〇 |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | 〇 |
template_redirect | 〇 |
get_header | |
wp_head | 〇 |
サンプルコード
サンプル1: 投稿のタイトルを変更する
このコードは、特定の投稿のタイトルを変更します。
add_filter('the_title', function($title) {
return 'Modified: ' . $title;
});
サンプル2: 投稿のコンテンツをフィルタリングする
このコードは、投稿のコンテンツに特定の文字列を追加します。
add_filter('the_content', function($content) {
return $content . '<p>Thank you for reading!</p>';
});
サンプル3: メールの件名を変更する
このコードは、メール通知の件名を変更します。
add_filter('wp_mail_subject', function($subject) {
return '[Important] ' . $subject;
});
サンプル4: カスタムウィジェットのタイトルを変更する
このコードは、特定のウィジェットのタイトルをカスタマイズします。
add_filter('widget_title', function($title) {
return 'Widget: ' . $title;
});
サンプル5: スタイルシートを挿入する
このコードは、テーマにスタイルシートを追加するためのものです。
add_filter('stylesheet', function($stylesheet) {
return 'custom-style.css';
});
これらのサンプルコードは、WordPressのフィルタフックを使用してさまざまなデータを変更、修正する方法を示しています。