WordPressのアクションフックの種類と実行順

  • 35
    Like
  • 0
    Comment
More than 1 year has passed since last update.

WordPressでテーマの function.php でのアクションフックの実行順がよくわからんかったので調べてメモ。
Codex日本語版の「プラグイン API/アクションフック一覧」にないものも入ってる。

説明に「(?)」があるものは、なんとなくそうかな的な感じ(少しは調べた結果)。
ないものはCodex日本語版の説明そのまま。

一般的リクエスト中に実行されるアクション

Codex日本語版の一覧はこちら

実行順 フィルタ名 説明
1 after_setup_theme 通常、テーマ設定・オプションを初期化するために使われる。これはテーマで最初に使えるアクションフックであり、有効なテーマの functions.php ファイルが読み込まれた直後にトリガーされる。init アクションフックは一部の機能には遅すぎるため、add_theme_support はここで呼び出されるべきである。この段階では、現在のユーザーに対する認証は行われていない。
2 auth_cookie_malformed Cookie未認証時 (?)
3 determine_current_user ログインユーザーの決定時 (?)
4 auth_cookie_valid Cookie認証完了時 (?)
5 set_current_user デフォルトの wp_set_current_user 関数でユーザーが変更された後に実行する
6 registered_post_type 投稿タイプ設定時 (?)
7 option_category_base カテゴリ設定読み込み時 (?) ⇒HOOKRの概要
8 option_tag_base タグ設定読み込み時 (?) ⇒HOOKRの概要
9 registered_taxonomy カテゴリー、post_tag など用
10 widgets_init サイドバーの登録に使われる。init の際に、優先順位「1」で、したがって優先順位「1」以上の他の init アクションよりも前に、実行される。
11 wp_register_sidebar_widget 各ウィジェット用
12 option_siteurl サイトURL決定時 (?) ⇒HOOKRの概要
13 heartbeat_settings ハートビート(ブラウザとサーバーをとりもつJavaScript)の設定時 (?)
14 option_blog_charset 文字コード設定時 (?) ⇒HOOKRの概要
15 wp_default_scripts wp_default_scripts の実行時 (?)
16 wp_default_styles wp_default_styles の実行時 (?)
17 init 通常プラグインの初期化に使われる。この段階で現在のユーザーに対する認証は完了している。
18 wp_loaded WordPress が完全に読み込まれた後
19 option_home ホームURL決定時 (?) ⇒HOOKRの概要
20 request QUERY_STRINGのパース時 (?)
21 parse_request リクエスト処理を変更できるようにする
22 send_headers ヘッダーを変更できるようにする
23 parse_query クエリ変数が設定された後
24 pre_get_posts クエリが実行される前にクエリ変数オブジェクトを露出する
25 posts_selection CodexのページのGoogle翻訳:このアクションフックは前のクエリに実行され、組み立てられたクエリを含む文字列が渡されます。この文字列は、NOT参照によって渡され、この文字列を操作すると、実際のクエリには影響しません。これは、プラグインをキャッシュすることで主に使用されることを意図しています。
26 wp_get_object_terms wp get object terms 実行時 (?)
27 the_posts 投稿データが内部処理された時 (?)
28 wp WP オブジェクトが設定された時
29 admin_bar_init Adminバーの初期設定時 (?)
30 add_admin_bar_menus Adminバーのメニューが追加された時 (?)
31 shutdown PHP の実行が終わりかけの時点

管理画面リクエスト中に実行されるアクション

Codex日本語版の一覧はこちら

実行順 フィルタ名 説明
1 after_setup_theme 通常、テーマ設定・オプションを初期化するために使われる。これはテーマで最初に使えるアクションフックであり、有効なテーマの functions.php ファイルが読み込まれた直後にトリガーされる。init アクションフックは一部の機能には遅すぎるため、add_theme_support はここで呼び出されるべきである。この段階では、現在のユーザーに対する認証は行われていない。
2 auth_cookie_valid Cookie認証完了時 (?)
3 determine_current_user ログインユーザーの決定時 (?)
4 set_current_user デフォルトの wp_set_current_user 関数でユーザーが変更された後に実行する
5 registered_post_type 投稿タイプ設定時 (?)
6 option_category_base カテゴリ設定読み込み時 (?) ⇒HOOKRの概要
7 option_tag_base タグ設定読み込み時 (?) ⇒HOOKRの概要
8 registered_taxonomy カテゴリー、post_tag など用
9 widgets_init サイドバーの登録に使われる。'init' の際に、優先順位「1」で、したがって優先順位「1」以上の他の 'init' アクションよりも前に、実行される。
10 wp_register_sidebar_widget 各ウィジェット用
11 option_siteurl サイトURL決定時 (?) ⇒HOOKRの概要
12 heartbeat_settings ハートビート(ブラウザとサーバーをとりもつJavaScript)の設定時 (?)
13 option_blog_charset 文字コード設定時 (?) ⇒HOOKRの概要
14 wp_default_scripts wp_default_scripts の実行時 (?)
15 wp_default_styles wp_default_styles の実行時 (?)
16 init 通常プラグインの初期化に使われる。この段階で現在のユーザーに対する認証は完了している。
17 wp_loaded WordPress が完全に読み込まれた後
18 _admin_menu 管理画面のメニュー読み込み前 (?)
19 sanitize_title 投稿タイトルの無害化時 (?)
20 admin_menu 管理画面のメニュー読み込み時 (?)
21 shutdown PHP の実行が終わりかけの時点