其实对于大多初学者来说,相对于add_action()而言,do_action()才是更加让人迷惑的东西。既然他们都是和WordPress的挂勾机制有关,他们的区别是什么呢?
WordPress的挂勾机制,允许插件把一些功能“挂载”到 WordPress 当中。也就是说,在系统运行至某一个环节时,去调用插件内的一些函数。执行挂勾分为两种:
动作 (Action)是WordPress中两种两种执行挂勾机制方法中的一种,另一种是Filter。原理与使用与Action很类似。
动作是 WordPress 运行到某些环节,或者在某些事件发生时,就会被执行的一种挂钩。任何的插件都可以通过动作接口来指示系统在遇到这些环节或者事件的时候,就执行指定的 PHP 函数。
add_action()就是告诉WordPress,把我们的函数(F2)和那个挂勾连接起来,让WordPress在执行那个申明自己是挂勾的动作(A1)时,执行我们指定的 PHP 函数(F2)。
文章WordPress插件开发入门:add_action()使用介绍动作 (Action)的定义中的add_action(‘admin_menu’, ‘addPluginFunctionToOption’), admin_menu就是那个挂勾(A1),addPluginFunctionToOption就是我们希望和那个挂勾连接的函数(F2)。这样当那个自己申明是挂钩的函数执行的时候,那个和挂勾连接的函数(F2)也会被自动调用。是不是有点“Dont call me, I will call you”的意思?