アクションフック一覧
アクションフックの一覧が WordPress Codex に掲載されています。
この中で、代表的なアクションフックについていくつか見ていきましょう。
after_setup_theme
テーマ設定やオプションを初期化した直後に実行されるアクションフックです。テーマのfunction.phpで利用できる最も早いタイミングのアクションフックとなります。
after_setup_themeのタイミングでよく行う処理
- add_theme_support() テーマの補助機能を利用する関数
- remove_action() アクションフックを削除する
- show_admin_bar() 管理バーの表示指定
- register_nav_menu() メニューの登録
init
after_setup_themeより少し後、ログインしているユーザー情報の取得後に実行されるアクションフックです。
initのタイミングでよく行う処理
- register_taxonomy() カスタムタクソノミーの登録
- register_post_type() カスタム投稿タイプの登録
- wp_get_current_user() ログインユーザ情報を利用した各種処理
pre_get_posts
WP_QueryオブジェクトがDBに対してSQLを実行する直前に実行されるアクションフックです。メインクエリのWP_Queryだけでなく、WP_Queryオブジェクトが作成されたぶんだけ毎回実行されます。
pre_get_postsのタイミングでよく行う処理
- 投稿取得条件の変更
- 投稿の並べ替え
wp_head
wp_headは通常のテーマではテンプレートの出力で、headタグの末尾のタイミングで実行されるアクションフックです。
wp_headのタイミングでよく行う処理
- headタグ内部に埋め込みたいタグの出力処理
wp_enqueue_scripts
headタグ内でscriptタグや外部スタイルシートへのリンクを追加するときに利用するアクションフックです。
wp_enqueue_scriptsのタイミングでよく行う処理
- wp_enqueue_style() 読み込むスタイルシートを追加
- wp_enqueue_script() 読み込むjavascriptを追加
実際にアクションフックを利用するときは?
アクションフックについては、初めはネット上のカスタマイズ例などを参考に実装することが多くなります。カスタマイズでadd_action関数が使われているのを確認した時に、
- どのタイミングで実行されるアクションフックなのか?
- なぜこのタイミングで実行するのか?
- (余裕があれば)このアクションフックを利用する他のカスタマイズはあるか?
などを調べる癖をつけておくと良いでしょう。