답변:
"데이터! 데이터! 데이터!" 그는 조급히 울었다. "점토없이 벽돌을 만들 수 없습니다."
플러그인이없는 설치에서 단일 텍스트 위젯으로 만 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'] );
});
또는이 prettified 버전 :
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)
추신 : John Blackbourn 의 훌륭한 Query Monitor 플러그인 도 확인하십시오 . (이 플러그인과 관련이 없습니다)
다음은 워드 프레스로드 차트입니다
좋은 답변을 주셔서 감사합니다 @birgire . 나는 그것에 추가하고 muplugins_loaded
때로는 해고되지 않기 때문에 plugins_loaded
가장 첫 번째 후크로 사용할 것입니다 (그러나 그 당시에는 사용자 인증이 아직 완료되지 않았습니다. 사용자의 권한을 확인하려면 init
그 중 가장 빠른 것입니다). ..
추신 훌륭한 플러그인이 있습니다 :
1) 쿼리 모니터 -페이지로드에서 발생하는 모든 것을 볼 수 있습니다. 즉, 실행 된 각 함수의 지속 시간 등 (플러그인 페이지의 모든 스크린 샷보기) :
2) WP-DEBUG-BAR + WP-DEBUG-SLOW-ACTIONS :
a) 사이트의 디버그 훅 ( actions ) 실행 목록.
b) 각 동작의 지속 시간을 참조하십시오 (기능 아님).
기본 순서는 공식 문서에서도 찾을 수 있습니다.