WordPress 6.9 的一些紧急修复程序
WordPress 6.9 在 12 月 2 日发布,我们之前的介绍文章:WordPress 6.9 发布,开启 AI 时代的内容创作新体验!
截止到目前为止,下载量已超过 900 万次,也有很多用户提交了问题,WordPress 官方预计在 1 月份按计划发布维护版本,对于一些比较严重的错误,WordPress 也提供了一些紧急修复程序:
1. 按需加载独立区块样式带来的 CSS 问题
WordPress 6.9 给经典主题新增了按需加载区块样式功能,但是导致一些运行经典主题的网站出现了内容的样式不符合预期的情况。这是因为该功能导致 wp-block-library 样式文件没有被加载。
如果你的主题有类似的问题,可以先安装插件「 Load Combined Core Block Assets Plugin 」来紧急修复,不过记得之后 WordPress 发布了维护版本修复该问题,记得停用改插件。
2. 邮件不能发送的问题
这个问题,我们之前在「WordPress 6.9 改进邮件发送功能,要求发件人地址和邮箱地址一致」中也介绍过,这意味着在某些情况下,原本能够发送电子邮件的 WordPress 站点现在无法发送了。如果你使用了 WPJAM Basic 的 SMTP 扩展,这个问题也解决了。如果你没使用,也可以使用「Hotfix」这个插件紧急修复一下。
3. 上一篇/下一篇文章导航无限循环问题
get_adjacent_post()函数函数的 WHERE 子句已修改,加入了基于 ID 的比较作为打破平局的手段。
WordPress 6.9 之前的版本:
WHERE p.post_date > '2024-01-01 12:00:00'
AND p.post_type = 'post'
WordPress 6.9 之后的版本:
WHERE (
p.post_date > '2024-01-01 12:00:00'
OR (
p.post_date = '2024-01-01 12:00:00'
AND p.ID > 123
)
)
AND p.post_type = 'post'
这样可以确保在 文章日期相同时进行确定性排序,使用文章 ID 作为辅助排序标准。
此外,该 ORDER BY 子句也进行了更新:
-- Before
ORDER BY p.post_date DESC
LIMIT 1
-- After
ORDER BY p.post_date DESC,
p.ID DESC
LIMIT 1
如果你使用的主题或者插件使用 这些插件使用 get_{$adjacent}_post_where 过滤器将当前文章的日期替换为另一篇文章的日期,但是因为现在 SQL 语句有了两个日期,如果只替换一个,可能造成无限导航。
如果你的站点存在该问题,建议你更新自己的主题或插件,如果更新之后还有问题,建议找使用 get_{$adjacent}_post_where 过滤器的插件或者主题作者报告一下错误。
