基于这个原因, 我对WordPress进行了简单的分析, 这就是开源的好处嘛. 我从index.php文件一步步跟踪了整个请求的开始到结束. 因为能力有限, 这可能是最笨的办法了....也就是说这两个方法内部是同一个方法. 个人理解, do_action注重与流程的插入, 既向主流程中加入一段逻辑, 没有返回值. 而 apply_filters方法有返回值, 更注重对数据的处理吧....我数了一下, 目前一共1470个钩子. https://developer.wordpress.org/reference/hooks/
可以说, WordPress就是通过各种钩子以及拼图式页面, 分别实现展示和流程的个性化定制...我在查看缓存文件的时候, 看到了这段代码:
但奇怪的是, 我全局搜索变量$wp_object_cache, 却没有找到定义的地方. 最终我一点一点找到了它定义的地方....本来是想看看它为什么这么灵活, 结果发现其实在平常的开发过程中已经用到了, 不过WordPress对一些内容的处理还是给了我一些启发.
比如这种拼图式的页面组成, 可以将页面的展示和数据处理分离.