WordPress 之所以能提供这样灵活的二次开发能力,一大途径就是它里面内涵了各种各样的 action
/filter
,通过这些 action/filter,你可以 在Wordpress 运行的各个环节来修改缺省的 WordPress 行为、表现和事件。为了方便我记忆,也给遇到跟我一样困难的朋友们一些提示,下面是我在网上找到的各种 WordPress action 的执行顺序:
muplugins_loaded registered_taxonomy registered_post_type plugins_loaded sanitize_comment_cookies setup_theme load_textdomain after_setup_theme auth_cookie_malformed auth_cookie_valid set_current_user init widgets_init register_sidebar wp_register_sidebar_widget wp_default_scripts wp_default_stypes admin_bar_init add_admin_bar_menus wp_loaded parse_request send_headers parse_query pre_get_posts posts_selection wp template_redirect get_header wp_head wp_enqueue_scripts wp_print_styles wp_print_scripts … a lot more
比如,如果你打算在调整一下输出的 script
的顺序,你应该是使用 wp_enqueue_script
,而不应该放到 init
里。所以说,看似好像都可以的做法,细研究起来还是有很大的区别的。不过,Wordpress 里的这些 action/filter 还是非常值得研究的。