为了缓存加速,get_pages 函数内部改用 WP_Query 实现

WordPress 6.3 将修复一个 13 年之久的问题,get_pages() 函数的内部使用 WP_Query 来实现。

这是因为 WP_Query 已经实现了缓存,那么 get_pages() 函数内部使用 WP_Query 来实现,就可以把查询数据库和处理缓存的负担都交给 WP_Query,从而可以显著降低了 get_pages() 函数的复杂性。

这次更新不仅消除了冗余的代码,并且还确保了在调用 get_pages()函数时候,所有在 WP_Query 中运行的 filter 现在也能同时被应用,比如之前用户用于自定义 WP_Query 的行为的 posts_pre_query 和 posts_results 等这些过滤器去,现在也可以应用到  get_pages()函数,从其他数据源(缓存或者其他数据库,比如 elastic search)获取查询的数据这类做法都会从这一改变中获益。

此外,6.3 还添加了一个名为 get_pages_query_args 的过滤器,这个过滤器使开发者能够修改传递给  WP_Query 的参数,同时保持与原始参数兼容。


©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,请联系微信:「chenduopapa」。