説明
remove_filter() は、add_filter() で登録したコールバックをフィルターフックから取り除く関数です。
基本構文
remove_filter( string $hook_name, callable|string|array $callback, int $priority = 10 ): bool
引数
$hook_name:フィルターフック名$callback:削除するコールバック$priority:登録時の優先度
戻り値
削除できたら true、できなければ false。
使い方(サンプル)
remove_filter( 'the_content', 'wpautop' );
注意点
- 優先度が一致しないと削除できません。
- 削除のタイミングが登録より前だと効きません。
remove_action()は内部的にこの関数と同じ動作です。
実務での使いどころ
- 登録されたフィルターの処理を、外すとき。
- 標準の加工(自動の段落、整形など)を、止めるとき。
よくあるミスと対処
- 登録時と、優先度が違うと、外れない。優先度は、完全に一致させる。
- クラスのメソッドは、同じオブジェクトで指定する必要がある。無名関数は、外せない。
- 登録される前に実行され、外れない。
NG例
remove_filter( 'the_content', 'wpautop', 5 ); // 登録時の優先度は 10
OK例
remove_filter( 'the_content', 'wpautop' ); // 本文の自動整形を止める
使い分け早見表
| 関数 | 役割 |
|---|---|
remove_filter() |
登録した処理を、外す |
add_filter() |
処理を、登録する |
has_filter() |
登録されているか確認する |
関連項目
add_filter()、remove_all_filters()、has_filter()
公式リファレンス:remove_filter() | Function | WordPress Developer Resources

コメント