Edited at

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

More than 3 years have 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 の実行が終わりかけの時点