WordPress是一个成千上万的程序员历经20余年的时间打造出来的网站系统,其万能程度可谓只手遮天,在网站搭建方面有着不可替代的地位。
据2023年5月15日23点37分在w3techs看到的不知道哪里来的统计中,WordPress占据内容管理系统的63.3%;占据所有类型网站的43.1%,远远将第二名甩在后面。
WordPress这么厉害,我觉得一大方面是它的Hook,在WordPress中,有着大量的动作钩子和过滤钩子,这极大的使得WordPress具有很高的可自定义性,同时又方便将一个个强大的功能使用Hook封装起来,要用的时候Hook一下,以达到我们的需求。
而在国内,我找WordPress的Hook原理,翻阅了大量的文档也没人说清,索性就自己来了。下方是我总结的一个WordPress的Hook流程图:
我们可以发现Hook总是先添加到全局变量$wp_filter中,再去执行Hook,在下面的例子中,我们也能看到这一点。
1、错误的Hook,不会输出666:
<?php
do_action("aaa");
add_action("aaa",function(){echo 666;});
2、正确的Hook,会输出666:
<?php
add_action("aaa",function(){echo 666;});
do_action("aaa");
© 版权声明
THE END