从 WordPress 6.1 开始,send_headers
钩子已移至 WordPress 加载例程稍晚的位置(ticket)。以前,当您确定要发送哪些标头时,所有is_
功能(如 is_singular
)都不起作用。通过此更改,将 `send_headers` 移至WordPress 解析查询之后,这些功能现在可以正常工作。
现在我们可以更好地控制以下内容:
- 管理缓存行为
- 使用HTTP标头
rel=preload
预加载资产 - 有条件地执行重定向,并管理其他非 200 状态场景
目前,这些类型的场景通常在后期操作中被过滤,例如template_redirect
;这在语义上令人困惑且效率低下。
有一个很好的代码示例,使用它变得更容易。事实上,这张工单已经改变了:X-Pingback
HTTP标头只需要为文章post发送,现在可以在正确的时间发送(提交)。
让我们看看它在加载顺序方面的差异:
此更改前的操作顺序
- wp_loaded
- 解析请求(parse_request)
- 发送标头(send_headers)
- 解析查询(parse_query)
- pre_get_posts — WP 主查询。
此更改后的操作顺序
- wp_loaded
- 解析请求(parse_request)
- 解析查询(parse_query)
- pre_get_posts — WP 主查询。
- 发送标头(send_headers)
这对您现有的任何代码应该不会产生负面影响,除非您用send_headers
来做真正应该在wp_loaded
或parse_request
上发生的事情。所以请检查你的代码!如果您这样做,只需更改为较早的挂钩即可解决您的问题。
对于新代码,您现在可以愉快地使用所有is_
功能。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。