WordPressのadd_action()はadd_filter()のエイリアス

WordPress の PHP カスタマイズで、フックを利用する際に add_action() と add_filter() の2通りの書き方を見かけたので、ちょっと調べてみた。WordPress で何かしらのアクションの前後などに、任意の処理を差し込むフック用のAPI関数です。

スポンサーリンク

add_action() は add_filter() のエイリアス

公式の WordPress ドキュメントで add_action() について調べたところ、以下の記述を発見。

この関数は add_filter() のエイリアスです。

な〜んだ、やはり違いはなく同じもの。ただのエイリアスでした。

ソース確認

以下のページで、現行バージョン(4.1)の WordPress の該当箇所のソースを確認できる。実際には手元のソースコードで grep しました。

plugin.php in tags/4.1.1/src/wp-includes WordPress Trac

add_filter()

81行目〜

add_action()

429行目〜

add_action() は、add_filter() を呼び出しているだけです。

何でこれでちょっと混乱したかと言いますと、最初適当にぐぐってたら、add_action() と add_filter() で挙動が異なるとか、ケースによって使い分けする、などと書いてある記事を目にしましてですね…。これどっちも同じもんなんじゃないかな〜と疑って、公式ドキュメントとソースを確認してみましたところ、案の定ただのエイリアスだったという。

WordPress はユーザー数も多く裾野も広いですので、PHPをかじっただけの人とかもカスタマイズに手を出してるんでしょう、おそらく。その分、検索で引っかかる情報が玉石混交な印象です。WordPress のカスタマイズを仕事でしっかりと行うのであれば、公式ドキュメントとソースコードを第一に信用したほうが良さそうです。

スポンサーリンク
WordPress は人気ナンバーワンのブログ・ウェブサイトの管理ツールです。PHP を使えればカスタマイズできるので、ぜひトライされてみてください。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!