没有更多意外的自定义插件覆盖,WordPress 5.8 允许开发人员设置插件主机名

几乎从十多年前核心中包含插件和主题升级机制的曙光开始,第三方开发人员就一直在寻求一种绕过系统的简单方法.WordPress 5.8 将最终满足此功能请求.

虽然很早就可以过滤更新系统,但这样做的方法比所需的要复杂.他们还要求插件本身在站点上处于活动状态.早就应该在每个插件的基础上启用/禁用该功能的简单标志.

“实用之处在于这是一个抽象的 API,它允许做两件事,”在修补代码的 GitHub 拉取请求中编写了 Dion Hulse:

  • 用于声明 URI/字符串的插件,如果设置,WordPress.org 更新 API 将忽略该插件.
  • 在站点上运行的代码,可以使用该标头主机名/数据为要存储到更新瞬态中的插件提供更新,而无需跳过诸如覆盖瞬态/过于频繁检查等之类的问题.

WordPress 5.8 将有一个新的 Update URI 插件标题字段.如果它的值与 https://wordpress.org/plugins/{$slug}/w.org/plugin/{$slug} 以外的任何值匹配,WordPress 将不会尝试更新它.

除此之外,如果开发人员想要处理非 W​​ordPress.org 插件的更新,他们可以推出自己的解决方案.这就是新的 update_plugins_{$hostname} 过滤器发挥作用的地方.WordPress 将解析插件的 Update URI 标头中包含的 URL,并使用主机名作为值.然后开发人员可以连接到它并做他们需要的任何事情.

具有由 WordPress.org 托管的扩展的插件作者无需担心添加这个新标题.插件指南的第 8 条规则已经禁止通过第三方系统发送可执行代码.以下小节更具体地介绍了这种情况:

从 WordPress.org 以外的服务器提供更新或以其他方式安装插件、主题或附加组件

13 个月前,关于一张 6 岁的票的讨论开始升温."当预定的插件自动更新运行时,我现在已经从客户端的网站上毫不客气地删除了一个插件,"用用户名 apedog 写了一个贡献者.“这实际上是我第二次遇到我的插件的命名冲突问题.在这两种情况下,我都选择了一个没有先验命名冲突的插件名称.然而,在稍后的某个时间,其他人也编写了一个具有相同通用名称的插件并将其提交给 wp.org 存储库.从那时起,我的插件的正常运行就被破坏了.”

虽然删除问题最终不是 WordPress 的问题,但也许这是保持对话进行所需的火花.

积极的讨论并不总是表明某项功能获得批准.也不意味着有人会编写代码.许多这样的门票已经进行了数月或数年的讨论,但最终却萎靡不振并死亡.这张票似乎也符合那个要求.它于 2015 年开放.然而,新功能有时更多地与时间有关,只是纯粹的随机性,或者具有核心提交访问权限的开发人员只是完成工作.

插件票已被接受并提交给 WordPress.然而,这是否会登陆主题仍然存在问题.11 年前的主题票的运动表明它可能发生.

VPS1352主机测评网(www.vps1352.com)
本文链接:https://www.vps1352.com/7343.html

5

发表回复