WordPress 开发者必备:常用 Action 开发接口
Action 即动作,是 WordPress 的接口,WordPress 让开发者在其代码执行过程中会额外执行一些函数,以实现插件的目的,这个允许插件开发者自定义在某点执行函数的接口即 Action。
当一个用户访问 WordPress 任意页面后,WordPress 将按顺序执行每一行代码,并在一定条件下激发 Action,执行挂载在该 Action 上的函数。WPJAM Basic 插件也是用到了相当多的 Action。
![](https://cdn.97866.com/wp-content/uploads/sites/26/2012/02/1611416048-66228fba2bcac2d2d012b2a31ad8d3d6.jpeg?imageMogr2/auto-orient/thumbnail/!800x400r/gravity/Center/crop/800x400/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
在 WordPress 开发的时候,使用什么 Action 是非常重要的,很多时候由于 action 没有用对,从而由于代码加载顺序而造成了一些很难调试的 bug,这是 WordPress 非常常见的问题。所以首先我们要知道一些常用的 Action。
以下是 WordPress 前台一个普通前台页面的 Action 执行过程
muplugins_loaded
plugins_loaded
load_textdomain
set_current_user
init
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
loop_start
the_post
loop_end
get_sidebar
dynamic_sidebar
wp_meta
get_footer
wp_footer
shutdown
除了前台,后台开发也是 WordPress 插件开发的重点,以下是后台管理界面的普通执行流程。
muplugins_loaded
plugins_loaded
load_textdomain
auth_cookie_valid
set_current_user
init
wp_loaded
auth_redirect
admin_menu
admin_init
parse_request
send_headers
wp
admin_head
adminmenu
admin_notices
admin_footer
shutdown