如何避免WordPress.org覆盖Git Updater的新版本检测
解决Git Updater与WordPress.org名称冲突的版本检测问题
下面是几个无需修改目录名称就能解决冲突的可行方案:
方案1:给主题/插件添加Git Updater专属元数据
直接在主题或插件代码中指定Git仓库信息,让Git Updater优先锁定GitHub源,忽略WordPress.org的同名项目。
- 插件操作:在主插件文件的头部注释里添加Git相关字段:
/* Plugin Name: 你的插件名称 Git URI: https://github.com/你的用户名/插件仓库名.git Git Branch: main */ - 主题操作:在主题根目录的
style.css头部添加Git字段:
配置后,Git Updater会直接从你指定的GitHub仓库拉取更新信息,不再受WordPress.org同名项目干扰。/* Theme Name: 你的主题名称 Git URI: https://github.com/你的用户名/主题仓库名.git Git Branch: main */
方案2:针对特定项目禁用WordPress.org更新检测
通过WordPress的过滤钩子,只禁用你存在冲突的主题/插件的WP.org更新检测,不影响其他项目和Git Updater的正常运行。
- 禁用特定插件的WP.org更新:在主题的
functions.php或自定义工具插件中添加以下代码:add_filter('site_transient_update_plugins', 'disable_wporg_update_for_my_plugin'); function disable_wporg_update_for_my_plugin($transient) { // 替换成你的插件目录名/主文件.php if (isset($transient->response['my-plugin/my-plugin.php'])) { unset($transient->response['my-plugin/my-plugin.php']); } return $transient; } - 禁用特定主题的WP.org更新:同样在
functions.php或自定义插件中添加:
这段代码只会移除你指定项目的WP.org更新提示,Git Updater依然能正常检测GitHub上的新版本。add_filter('site_transient_update_themes', 'disable_wporg_update_for_my_theme'); function disable_wporg_update_for_my_theme($transient) { // 替换成你的主题目录名 if (isset($transient->response['my-theme'])) { unset($transient->response['my-theme']); } return $transient; }
方案3:差异化版本号(备选)
如果上面的方案不适用,可以给GitHub发布的版本号加上自定义后缀(比如1.2.3-git),然后在Git Updater的设置中开启「允许非标准版本号」选项。不过这个方法依赖版本号的差异化,可靠性不如前两种,仅作为备选。
内容的提问来源于stack exchange,提问作者Jesse Nickles
相关产品推荐
相关产品推荐

