説明
did_filter() は、指定したフィルターが、現在のリクエスト中に何回実行されたかを返す関数です。
基本構文
did_filter( string $hook_name ): int
引数
$hook_name:フィルター名
戻り値
実行回数(int)。
使い方(サンプル)
$n = did_filter( 'the_content' );
注意点
- WordPress 6.1 で追加された関数です。それ以前のバージョンでは使えません。
実務での使いどころ
- あるフィルターが、すでに適用されたか(何回適用されたか)を、確認するとき。
よくあるミスと対処
- アクションの実行回数を調べるつもりで、使っている。アクションには、
did_action()を使う。 - 戻り値は、適用された回数(整数)。真偽値として扱うと、複数回で混乱する。
NG例
if ( did_filter( 'init' ) ) { // init はアクション
// ...
}
OK例
if ( did_action( 'init' ) ) {
// アクションには did_action
}
使い分け早見表
| 関数 | 役割 |
|---|---|
did_filter() |
フィルターが、何回、適用されたか |
did_action() |
アクションが、何回、実行されたか |
doing_filter() |
いま、適用中か |
関連項目
did_action()、has_filter()、doing_filter()
公式リファレンス:did_filter() | Function | WordPress Developer Resources

コメント