WordPressの管理画面をごにょごにょしたり、ちょっとした関数を追加したりする際に、function.phpに書き込んだりするアレですが、よく理解せずにググってコピペしているなんて方も少なくないのでは。
実は、少し前まで私もそうでした(;´Д`)
簡単に言ってしまうと…
WordPressは「wp_head()が実行されたタイミング」とか「記事が登録(公開)されたタイミング」とか動作の要所要所でフックという信号を出しています。通常のコンピュータのシステムであれば、このフックの動きは内部的な情報の受け渡しなのですが、WordPressではそのタイミングで受け渡す情報の書き換えができるように作られています。
これって実に実にスゴい事です。
だって、WordPress 自体のシステムを一切変えずに、必要なタイミングでちょっと情報を取り出して、変えて、また知らん顔して戻せるんですから。WordPress 本体がバージョンアップしても影響を受けることは無いし(あ、フック自体が改変されてしまったらダメですけど)、function.php だけの中で管理することができます。
そして
2つのフック、フィルターフックとアクションフックは、厳密に分けて覚える必要は(それほど)なく、使い方も基本的に同じ。
フィルターフックを使うときには add_filter()、アクションフックを使うときには add_action() を使うんだってことを覚えていりゃ良いわけです。
で
具体的にどんなフックが用意されているのかっていうと…
あまりに数が多いので、公式サイトを御覧ください(笑)
フィルターフックは、add_filter( $tag, $function_to_add, $priority, $accepted_args )
アクションフックは、add_action( $tag, $function_to_add, $priority, $accepted_args )
で
- $tagは、フックの名前
- $function_to_addは、実行する関数の名前
- $priorityは、優先順位
(同じフック処理がある場合に数値が小さい方から実行) - $accepted_argsは、実行する関数で使用する引数の数
あとは、使って慣れろ!ですね
参考にさせていただいたサイト
WordPressカスタマイズの幅が劇的に広がる、フィルターフックとアクションフックの使い方 | 東京上野のWeb制作会社LIG