Intereting Posts
Изменен адрес URL-адреса в Wordress Увеличьте ширину области содержимого в TwentyFourteen Какой шаблон используется для просмотра файлов медиабиблиотеки? Конференц-билеты и модуль для размещения WordPress Добавление информации в заголовок HTTP в плагине WordPress Возможно ли иметь несколько строк для каждого столбца / страницы в списке таблиц администратора? Добавить сообщение мета-ключ и значение, только если оно не существует в сообщении Лучшее изображение не работает из-за пользовательской роли пользователя? Монитор обновлений плагина WordPress Как получить имя и значение мета-поля Как удалить CSS-файл в заголовке с помощью функций WordPress? Пользовательская таксономия WooCommerce как мета? Подсчет слов в сообщении Host wordpress в подкаталоге приложения Rails Как получить пользовательский размер изображения для изображения, загруженного в Настройщик

Как получить последовательность запуска крюка WordPress?

В каком порядке / последовательности выполняются крючки add_action ?

т.е.

 init wp_head wp_footer after_theme_setup etc.. 

EDIT: найдено решение!

Спасибо @birgire за хороший ответ. Я добавлю, что muplugins_loaded иногда не запускается, поэтому я буду использовать plugins_loaded как самый первый крючок (но в то время авторизация пользователя еще не завершена. Если вы хотите проверить авторизацию пользователя, тогда init является самым ранним для что)…

ps существуют отличные плагины:

1) Query Monitor – вы можете видеть все, что происходит при загрузке страницы, т.е. продолжительность каждой выполненной функции и многое другое (просмотреть все скриншоты на странице плагина):

введите описание изображения здесь

2) WP-DEBUG-BAR + WP-DEBUG-SLOW-ACTIONS :
a) список запуска отладки ( действий ) на вашем сайте.
б) См. продолжительность каждого действия (не функция): введите описание изображения здесь

Solutions Collecting From Web of "Как получить последовательность запуска крюка WordPress?"

«Данные! Данные! Данные!» – нетерпеливо воскликнул он. «Я не могу делать кирпичи без глины».

– Приключение медных буков

Итак, давайте соберем некоторые реальные данные из установки без плагинов, а тема TwentyTwelve активируется только с одним текстовым виджетами.

Для домашней страницы следующие вызовы do_action выполняются в следующем порядке:

 muplugins_loaded registered_taxonomy registered_taxonomy registered_taxonomy registered_taxonomy registered_taxonomy registered_post_type registered_post_type registered_post_type registered_post_type registered_post_type plugins_loaded sanitize_comment_cookies setup_theme unload_textdomain load_textdomain after_setup_theme load_textdomain load_textdomain auth_cookie_malformed auth_cookie_valid set_current_user init registered_post_type registered_post_type registered_post_type registered_post_type registered_post_type registered_taxonomy registered_taxonomy registered_taxonomy registered_taxonomy registered_taxonomy widgets_init register_sidebar register_sidebar register_sidebar wp_register_sidebar_widget wp_register_sidebar_widget wp_register_sidebar_widget wp_register_sidebar_widget wp_register_sidebar_widget wp_register_sidebar_widget wp_register_sidebar_widget wp_register_sidebar_widget wp_register_sidebar_widget wp_register_sidebar_widget wp_register_sidebar_widget wp_register_sidebar_widget wp_loaded parse_tax_query parse_tax_query posts_selection template_redirect admin_bar_init add_admin_bar_menus get_header wp_head wp_enqueue_scripts wp_print_styles wp_print_scripts get_template_part_content begin_fetch_post_thumbnail_html end_fetch_post_thumbnail_html get_template_part_content get_template_part_content get_template_part_content get_template_part_content get_template_part_content get_template_part_content get_template_part_content get_template_part_content get_template_part_content begin_fetch_post_thumbnail_html end_fetch_post_thumbnail_html get_sidebar dynamic_sidebar_before dynamic_sidebar dynamic_sidebar_after get_footer twentytwelve_credits wp_footer wp_print_footer_scripts wp_before_admin_bar_render wp_after_admin_bar_render shutdown 

Если вы хотите проверить порядок действий и сколько раз каждый из них уволен, вы можете использовать, например:

 add_action( 'shutdown', function(){ print_r( $GLOBALS['wp_actions'] ); }); 

или эта префизированная версия:

 add_action( 'shutdown', function(){ foreach( $GLOBALS['wp_actions'] as $action => $count ) printf( '%s (%d) <br/>' . PHP_EOL, $action, $count ); }); 

чтобы получить следующий список:

 muplugins_loaded (1) registered_taxonomy (10) registered_post_type (10) plugins_loaded (1) sanitize_comment_cookies (1) setup_theme (1) unload_textdomain (1) load_textdomain (3) after_setup_theme (1) auth_cookie_malformed (1) auth_cookie_valid (1) set_current_user (1) init (1) widgets_init (1) register_sidebar (3) wp_register_sidebar_widget (12) wp_loaded (1) parse_request (1) send_headers (1) parse_tax_query (2) parse_query (1) pre_get_posts (1) posts_selection (1) wp (1) template_redirect (1) wp_default_scripts (1) wp_default_styles (1) admin_bar_init (1) add_admin_bar_menus (1) get_header (1) wp_head (1) wp_enqueue_scripts (1) wp_print_styles (1) wp_print_scripts (1) loop_start (1) the_post (10) get_template_part_content (10) begin_fetch_post_thumbnail_html (2) end_fetch_post_thumbnail_html (2) loop_end (1) get_sidebar (1) dynamic_sidebar_before (1) dynamic_sidebar (1) dynamic_sidebar_after (1) get_footer (1) twentytwelve_credits (1) wp_footer (1) wp_print_footer_scripts (1) admin_bar_menu (1) wp_before_admin_bar_render (1) wp_after_admin_bar_render (1) shutdown (1) 

PS: Вы также должны проверить отличный плагин Query Monitor от John Blackbourn. (Я не связан с этим плагином)

Вот график загрузки WordPress

Таблица загрузки WordPress

→ Источник от @Rarst

Нет двух одинаковых запросов. Быстрый и грязный способ узнать, что происходит, – временно добавить строку в начало функции do_action в wp-includes/plugin.php которая регистрирует $tag , например:

 if (isset($some_get_or_post_trigger_var)) file_put_contents(ABSPATH . 'action.log', $tag, FILE_APPEND);