首页 视频课程 WordPress开发文档URL重写与内核钩子 钩子原理

钩子原理

2020-03-18 / 5907阅

本视频需要登录以后才能播放

登录

当你看到此篇文章的时候,你已经使用过wordpress的钩子了。比如:

 function youranzixue_register_nav_menus(){
      register_nav_menus( array(
          'header_menu' => ( '顶部菜单', 'youran' ), 
          'footer_menu' => ( '页脚菜单', 'youran' )
       ));
 }
 add_action( 'init', 'youranzixue_register_nav_menus' );  

上面的代码中,add_action就是使用了钩子的方法。学到这里的朋友知道,程序是按照顺序去执行的。比如按照1、2、3、4、5……的顺序执行下去。每一步都是按严格按照顺序的

WordPress钩子的作用有两种,一种是动作钩子,一种是过滤钩子。

  • 动作钩子就是在 1和2直接加一个1.1
  • 程序执行完1以后,就开始执行你自己添加的1.1
  • 然后再去执行2、3、4、5……

最为重要的是你添加这个1.1的时候。你不需要去修改WordPress的内核文件。

过滤钩子的原理和动作钩子差不多

  • 过滤钩子在执行完1以后,把得到的结果交给1.1
  • 你自己写的1.1代码把结果进行修改以后返回给程序
  • 程序片段2收到的 数据 是你处理好的新数据
  • 然后在继续执行下去

动作钩子和过滤钩子都是在程序执行的中间节点上添加你自己的执行代码。不同的地方是:

  • 动作钩子执行后,不会把执行结果返回给程序
  • 过滤钩子执行后,替换原来的结果,把新结果返回给程序继续执行

同一个钩子位置可以添加多个动作和过滤钩子,你也可以对添加的钩子进行排序,先执行哪个钩子,后执行哪个钩子。

基础课程中,你只需要简单的理解上面的内容就行了

阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228

大家谈论
    我的见解
    目录