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

スポンサーリンク

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

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

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 を使えればカスタマイズできるので、ぜひトライされてみてください。
 
スポンサーリンク

Leave Your Message!