WordPress 6.1 将 send_headers Action 后移到准备加载文章的后面

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。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
WordPress新闻

WordPress 6.1 新增 "Update URI" 主题标头,第三方主题可以自建更新系统

2022-10-20 2:39:07

WordPress新闻

WordPress 6.1 的 wpdb::prepare 将转义表和字段名称,加强程序的安全性

2022-10-20 2:58:05

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索
赣ICP备2021010644号-1