WordPress 6.1 引入“Update URI”主题标头,可自定义主题更新网址

WordPress 6.1 引入了一个 可供主题作者使用的新标头(header)。这允许第三方(非WP官方库)主题避免意外地被来自 WordPress.org 主题目录的类似名称的主题更新所覆盖。

以前,任何使用与 WordPress.org 上托管的主题相同的 slug 的自定义主题都冒着被后者更新覆盖的重大风险。

WordPress 6.1 引入了一个新的 Update URI 主题标头字段。如果这个新字段的值匹配除 https://wordpress.org/themes/{$slug}/或 w.org/theme/{$slug}之外的任何 URI,WordPress 将不会尝试更新它。

如果设置, Update URI 标头字段应该是一个 URI 并具有唯一的主机名。

一些例子包括:

  • https://wordpress.org/themes/example-theme/
  • https://example.com/my-theme/
  • my-custom-theme-name

Update URI: false 也可以,除非有处理 false 主机名的代码,否则主题永远不会收到更新通知。

如果标头存在,则 WordPress.org API当前仅在主题匹配以下格式时才返回主题更新:

  • https://wordpress.org/themes/{$slug}/
  • w.org/theme/{$slug}

如果标头有任何其他值,API 将不会返回结果,并将忽略主题以进行更新。

此外,WordPress 6.1 引入了 update_themes_{$hostname} 过滤器,第三方主题可以使用它来为给定的主机名提供更新。它们可用于过滤多个用例中的更新响应。

这个新的钩子过滤给定主题主机名的更新响应。钩子名称的动态部分 $hostname, 是指在 Update URI 标头字段中指定的 URI 的主机名。

钩子有四个参数:

  • $update:具有最新详细信息的主题更新数据。默认 false。
  • $theme_data:主题提供的标题列表。
  • $theme_stylesheet:主题样式表。
  • $locales:已安装的语言环境以查找翻译。

请注意,由 WordPress.org 托管的主题的作者不需要使用这个新标头。

作为参考,请参阅票证 #14179和变更集 [53933]。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注