WordPressの has_filter()は返り値が int|boolean なので普通に if(has_filter()) で処理しちゃうと `` が返ってきた時に意図しない結果になってしまいます。

解決策

なのでそういう時は if(is_int(has_filter())) を使いましょう。

参考

[wordpress – recognize `` as a true in PHP if statement – Stack Overflow][1]