WordPress 6.1 后移 send_headers Action,提高页面解析效率

科技6个月前发布 iowen
102 0 0

WordPress 6.1 将 send_headers Action 移到 WordPress 常规的例程的稍后的位置,之前在确定要发送哪些页面 headers 的时候,所有 is_ 的函数(比如is_singular)都不起作用,通过此项改动,将`send_headers` 移到 WordPress 的查询解析完成之后,这些 is_ 的函数都可以用了。

这样就可以:

  • 更好管理页面缓存行为

  • 使用 HTTP rel=preload 标头预加载资源

  • 根据条件进行跳转,和管理其他 200 状态的场景

而目前这些场景通常是在之后的 Action(比如 template_redirect)中进行处理的,其实这样在语义上有点让人困惑,并且还效率低下。

举一个最有意义的例子,X-Pingback 这个 HTTP 标头其实只需要在文章详情页才需要发送,6.1 就是因为 send_headers 后移而得以优化。

下面我们修改之前和之后的常见的 Action 加载顺序:

未修改之前的顺序:

  • wp_loaded

  • parse_request

  • send_headers

  • parse_query

  • pre_get_posts — WP 主查询

6.1 修改之后的顺序:

  • wp_loaded

  • parse_request

  • parse_query

  • pre_get_posts — WP 主查询

  • send_headers

此项修改应该不会对现有的代码造成什么影响,除非你使用 send_headers 来处理那些真的不需要解析 WordPress 的查询参数的,那么可能需要把你的代码改到更早一些的 Action 去执行,比如提早到 wp_loaded 或者 parse_request Action。

WPJAM Basic 的 JSON API 就是使用 send_headers 来处理的,所以 WordPress 6.1 就要兼容处理了。😂

对于以后在 send_headers 添加的新代码,都可以愉快地使用所有 is_ 函数了。



点击卡片关注「WordPress果酱」 
每天分享 WordPress 使用技巧 

⏬⏬ 下载 WPJAM Basic 请点击阅读原文

© 版权声明

相关文章

暂无评论

暂无评论...