WordPressアクションフックの実行順と処理回数
▼調査対象
WordPress v6.7.1 (最新版:2024/12/19現在)
フック処理の実際の実行順と処理回数を調べてみました。
有効プラグインなし、表示だけのテーマを作成し調べています。
フロント画面のフック処理の順番と回数
実行 | 処理回数 | アクション名 | 内容 |
---|---|---|---|
1 | 1 | after_setup_themewp-settings.php | |
2 | 1 | auth_cookie_malformedwp-includes/pluggable.php | |
3 | 1 | set_current_userwp-includes/pluggable.php | |
4 | 16 | registered_post_typewp-includes/post.php | 初期状態で16個の投稿タイプ(post_type)が登録される。 post/page/attachment/revision/ nav_menu_item/custom_css/customize_changeset/oembed_cache/ user_request/wp_block/wp_template/wp_template_part/ wp_global_styles/wp_navigation/wp_font_family/wp_font_face |
5 | 8 | registered_taxonomywp-includes/taxonomy.php | 初期状態で8個のタクソノミー(taxonomy)が登録される。 category/post_tag/nav_menu/link_category/ post_format/wp_theme/wp_template_part_area/wp_pattern_category |
6 | 1 | widgets_initwp-includes/widgets.php | |
7 | 18 | wp_register_sidebar_widgetwp-includes/widgets.php | 初期状態で18個のウィジェットが登録される。 固定ページ一覧/カレンダー/月別アーカイブ/カテゴリー/ 最近の投稿/最近のコメント/RSS/タグクラウド/ ナビゲーションメニュー/メタ情報/検索/ 音声/画像/ギャラリー/動画/ テキスト/カスタムHTML/ブロック |
8 | 1 | wp_sitemaps_initwp-includes/sitemaps.php | |
9 | 1 | initwp-settings.php | |
10 | 1 | wp_loadedwp-settings.php | |
11 | 2 | parse_tax_querywp-includes/class-wp-query.php | |
12 | 1 | posts_selectionwp-includes/class-wp-query.php | |
13 | 1 | wp_cache_set_last_changedwp-includes/functions.php | |
14 | 1 | parse_term_querywp-includes/class-wp-term-query.php | |
15 | 1 | wp_cache_set_last_changedwp-includes/functions.php | |
16 | 1 | metadata_lazyloader_queued_objectswp-includes/class-wp-metadata-lazyloader.php | |
17 | 1 | template_redirectwp-includes/template-loader.php |
テーマ側での処理
ここからテーマ内の画面処理。最低限の機能のテーマを作成して確認。実行 | 処理回数 | アクション名 | 内容 |
---|---|---|---|
18 | 1 | get_headerwp-includes/general-template.php | テーマのget_header()実行時 |
19 | 1 | wp_before_load_templatewp-includes/template.php | |
20 | 1 | enqueue_block_assetswp-includes/block-editor.php | |
21 | 1 | wp_enqueue_scriptswp-includes/script-loader.php | |
22 | 1 | wp_print_styleswp-includes/functions.wp-styles.php | |
23 | 1 | wp_print_scriptswp-includes/functions.wp-scripts.php | |
24 | 1 | wp_headwp-includes/general-template.php | テーマの wp_head() 実行時 |
25 | 1 | wp_body_openwp-includes/general-template.php | テーマの wp_body_open() 実行時 |
26 | 1 | wp_after_load_templatewp-includes/template.php | ここで header.php の処理完了 |
27 | 1 | get_sidebarwp-includes/general-template.php | テーマの get_sidebar() 実行時 |
28 | 1 | wp_before_load_templatewp-includes/template.php | |
29 | 1 | wp_after_load_templatewp-includes/template.php | ここで sidebar.php の処理完了 |
30 | 1 | get_footerwp-includes/general-template.php | テーマの get_footer() 実行時 |
31 | 1 | wp_before_load_templatewp-includes/template.php | |
32 | 1 | dynamic_sidebar_beforewp-includes/widgets.php | テーマの dynamic_sidebar() 実行時 |
33 | 1 | dynamic_sidebar_afterwp-includes/widgets.php | |
34 | 1 | wp_footerwp-includes/general-template.php | テーマの wp_footer() 実行時 |
35 | 1 | wp_print_footer_scriptswp-includes/script-loader.php | |
36 | 1 | wp_after_load_templatewp-includes/template.php | ここで footer.php の処理完了 |
37 | 1 | shutdownwp-includes/load.php | 全処理の完了時 |
管理画面のフック処理の順番と回数
管理画面のみのフックポイントがあるため処理分けが出来る。
実行 | 処理回数 | アクション名 | 内容 |
---|---|---|---|
1 | 1 | after_setup_themewp-settings.php | |
2 | 16 | registered_post_typewp-includes/post.php |
初期状態で16個の投稿タイプ(post_type)が登録される。 フロント画面と同じ |
3 | 8 | registered_taxonomywp-includes/taxonomy.php |
初期状態で8個のタクソノミー(taxonomy)が登録される。 フロント画面と同じ |
4 | 1 | widgets_initwp-includes/widgets.php | |
5 | 18 | wp_register_sidebar_widgetwp-includes/widgets.php |
初期状態で18個のウィジェットが登録される。 フロント画面と同じ |
6 | 1 | initwp-settings.php | |
7 | 1 | wp_loadedwp-settings.php | |
8 | 1 | auth_cookie_validwp-includes/pluggable.php | |
9 | 1 | auth_redirectwp-includes/pluggable.php | |
10 | 1 | wp_cache_set_last_changedwp-includes/functions.php | |
11 | 1 | _admin_menuwp-admin/includes/menu.php | |
12 | 1 | admin_menuwp-admin/includes/menu.php | |
13 | 1 | admin_bar_initwp-includes/class-wp-admin-bar.php | |
14 | 1 | add_admin_bar_menuswp-includes/class-wp-admin-bar.php | |
15 | 1 | admin_initwp-admin/admin-post.php | |
16 | 1 | current_screenwp-admin/includes/class-wp-screen.php | |
17 | 1 | wp_dashboard_setupwp-admin/includes/dashboard.php | |
18 | 2 | do_meta_boxeswp-admin/includes/dashboard.php |
ここから管理画面の出力処理。
実行 | 処理回数 | アクション名 | 内容 |
---|---|---|---|
19 | 1 | admin_enqueue_scriptswp-admin/admin-header.php | |
20 | 1 | admin_print_styleswp-admin/admin-header.php | |
21 | 1 | admin_print_scriptswp-admin/admin-header.php | |
22 | 1 | wp_print_scriptswp-includes/functions.wp-scripts.php | |
23 | 1 | admin_headwp-admin/admin-header.php | |
24 | 1 | adminmenuwp-admin/menu-header.php | |
25 | 1 | wp_before_admin_bar_renderwp-includes/admin-bar.php | |
26 | 1 | wp_after_admin_bar_renderwp-includes/admin-bar.php | |
27 | 1 | in_admin_headerwp-admin/admin-header.php | |
28 | 1 | admin_noticeswp-admin/admin-header.php | |
29 | 1 | all_admin_noticeswp-admin/admin-header.php | |
30 | 1 | in_admin_footerwp-admin/admin-footer.php | |
31 | 1 | admin_footerwp-admin/admin-footer.php | |
32 | 1 | admin_print_footer_scriptswp-admin/admin-footer.php | |
33 | 1 | shutdownwp-includes/load.php |
WordPress REST APIのフック処理の順番と回数
WordPressでは標準のAPI処理とテーマやプラグインが登録したAPI処理が実行される。
調査環境ではプラグインなし、テーマからの登録なし。
実行 | 処理回数 | アクション名 | 内容 |
---|---|---|---|
1 | 1 | after_setup_themewp-settings.php | |
2 | 1 | auth_cookie_malformedwp-includes/pluggable.php | |
3 | 1 | auth_cookie_bad_session_tokenwp-includes/pluggable.php | |
4 | 1 | set_current_userwp-includes/pluggable.php | |
5 | 16 | registered_post_typewp-includes/post.php |
初期状態で16個の投稿タイプ(post_type)が登録される。 フロント画面と同じ |
6 | 8 | registered_taxonomywp-includes/taxonomy.php |
初期状態で8個のタクソノミー(taxonomy)が登録される。 フロント画面と同じ |
7 | 1 | widgets_initwp-includes/widgets.php | |
8 | 18 | wp_register_sidebar_widgetwp-includes/widgets.php |
初期状態で18個のウィジェットが登録される。 フロント画面と同じ |
9 | 1 | wp_sitemaps_initwp-includes/sitemaps.php | |
10 | 1 | initwp-settings.php | |
11 | 1 | wp_loadedwp-settings.php | |
12 | 20 | register_settingwp-includes/option.php |
初期状態で20個の設定が登録される。 blogname/blogdescription/siteurl/admin_email/timezone_string/ date_format/time_format/start_of_week/WPLANG/use_smilies/ default_category/default_post_format/posts_per_page/show_on_front/page_on_front/ page_for_posts/default_ping_status/default_comment_status/site_logo/site_icon |
13 | 1 | rest_api_initwp-includes/rest-api.php | |
14 | 1 | auth_cookie_malformedwp-includes/pluggable.php | |
15 | 1 | auth_cookie_bad_session_tokenwp-includes/pluggable.php | |
16 | 1 | set_current_userwp-includes/pluggable.php | |
17 | 2 | parse_tax_querywp-includes/class-wp-query.php | |
18 | 1 | posts_selectionwp-includes/class-wp-query.php | |
19 | 1 | wp_cache_set_last_changedwp-includes/functions.php | |
20 | 1 | wp_error_addedwp-includes/class-wp-error.php | |
21 | 1 | shutdownwp-includes/load.php |