当前位置:小鱼儿玄机1站开奘结果 > 次动作函数 >

WordPress的钩子函数之一——do_action()

  要想随心所欲的给主题添加功能,wordpress的钩子和过滤器应该要能明白。wordpress钩子和过滤器也是插件开发的基本知识。

  介绍与分析:要是不加这个函数,有的插件将不能正常工作!该函数位于wp-includes/general-template.php文件的1577行,原函数如下:

  ①可以看到这个wp_head函数调用了do_action函数,传入参数wp_head。该函数(do_action函数)位于wp-includes/plugin.php文件。不过这个函数就比较复杂了,这里就不讲解了,只需要明白会用就好。

  ②do_action函数:do_action执行了一个“动作”,这个动作名称就是这个参数wp_head,这个“wp_head动作”是不需要定义的,do_action含有自动定义的功能。也就是不需要事先定义这个参数wp_head是什么、要干嘛,而do_action就会自动定义一个名叫wp_head的动作,并执行它。

  ③add_action()函数可以给“动作”添加具体事务,比如我们已经定义并执行了一个动作“饭前”,然后我们add_action(饭前 ,洗手),就给这个“饭前”动作添加了具体内容,在程序中来讲,“洗手”这个参数应该是个函数名称,也就是饭前动作要执行这个函数。

  我们do_action里面的动作wp_head,叫做动作钩子(hook),钩子可以挂东西,所以add_action就是往这个钩子上挂函数,然后执行那个钩子的时候,也就是执行所有挂在这个钩子上的函数!

  上面的函数添加在哪里呢?主题的functions.php,或者其它主题被包含的函数文件,好吧,只要主题会执行的地方。

  do_action(hookname,$arg_1,$arg_2,$arg_3),除了钩子名外,还要带3 个参数;然后add_action()中,除了钩子名,函数名,优先级,剩下那个就是参数的个数了,也就是挂靠的这个函数需要多少个参数。

  可以看到定义并执行了一个叫“ashu”的动作钩子,并且传3个参数给动作函数,然后使用add_action,往这个钩子上挂了 2个函数,function1函数需要2个参数,function2需要3个参数,所以使用add_action的时候后面对应的参数个数也是2和3。然后优先级分别是10和1,所以function2先执行。

http://syn992.com/cidongzuohanshu/333.html
点击次数:??更新时间2019-07-02??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】