説明
current_filter() は、現在実行中のフィルター(またはアクション)のフック名を返す関数です。
基本構文
current_filter(): string
引数
引数はありません。
戻り値
実行中のフック名。
使い方(サンプル)
function my_cb( $v ) {
error_log( current_filter() );
return $v;
}
注意点
- アクション実行中も、その名前が返ります。
実務での使いどころ
- 1つのコールバックを、複数のフィルターに登録したとき、どのフィルターから呼ばれたかを知るとき。
よくあるミスと対処
- コールバックの外で呼び、意味のある値にならない。
- アクションの名前を取得したいとき、
current_action()と、取り違える(アクションの中でも、同じ値が返る)。
NG例
echo current_filter(); // コールバックの外では、意味がない
OK例
function my_callback( $value ) {
if ( 'the_title' === current_filter() ) {
// the_title から呼ばれたとき
}
return $value;
}
使い分け早見表
| 関数 | 役割 |
|---|---|
current_filter() |
いま、実行中のフィルター(またはアクション)名 |
doing_filter() |
特定のフィルターが、実行中か |
current_action() |
いま、実行中のアクション名 |
関連項目
current_action()、doing_filter()
公式リファレンス:current_filter() | Function | WordPress Developer Resources

コメント