current_filter() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました