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

説明

apply_filters() は、値をフィルターフックに通し、登録された関数で加工した結果を返す関数です。

基本構文

apply_filters( string $hook_name, mixed $value, mixed ...$args ): mixed

引数

  • $hook_name:フィルターフック名
  • $value:加工対象の値
  • ...$args:コールバックに渡す追加の引数

戻り値

フィルター後の値。

使い方(サンプル)

$limit = apply_filters( 'my_posts_limit', 10 );
// 別の場所
add_filter( 'my_posts_limit', fn() => 20 );

注意点

  • アクションと違い、結果を受け取って使うのが前提です。
  • 独自フック名には接頭辞を付けます。

実務での使いどころ

  • 自作のプラグインやテーマの値を、他の人が、加工できるようにするとき。
  • 設定値を、フィルターを通して、返すとき。

よくあるミスと対処

  • 戻り値を使っていない。apply_filters() は、加工後の値を返す。
  • 第1引数(フック名)の次の引数が、加工される値。追加の引数は、その後に渡す。
  • フック名に、接頭辞を付けていない。

NG例

apply_filters( 'my_plugin_title', $title ); // 戻り値を使っていない

OK例

$title = apply_filters( 'my_plugin_title', $title, $post_id );

使い分け早見表

関数 役割
apply_filters() フィルターを適用して、値を返す
add_filter() フィルターに、処理を登録する
do_action() アクションを実行する

関連項目

add_filter()、do_action()

公式リファレンス:apply_filters() | Function | WordPress Developer Resources

コメント

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