WordPress 的主题、插件、核心升级提醒、自动更新、一键更新等功能非常实用,但唯一不足在于仅限于提交至 WordPress.ORG 的主题/插件。国外主题审查非常严格,这也造成了部分大神开发的困扰……今天在修复 Azure 时已实现 WordPress 非官方主题/插件能够正常升级的办法,与大家分享。

WP Update Server+Plugin Update Checker+Theme Update Checker 完美整合即可实现主题、插件的无缝升级。上传 WP Update Server 并放置在更新服务器根目录下,确保以

http://yourserver.com/wp-update-server/?action=get_metadata&slug=主题名称

此形式可正常访问。

WP Update Server 下载地址:https://github.com/YahnisElsts/wp-update-server/archive/master.zip

1 、确保 cache 和 logs 两个文件夹可写;
2 、将更新的主题压缩包 (ZIP 格式) 放置在 packages 文件夹下,且压缩包名必须与主题名称相同;

与 WordPress 插件整合

Plugin Update Checker 下载地址:https://github.com/YahnisElsts/plugin-update-checker/archive/master.zip

将 Plugin Update Checker 放置在需要开启升级功能的插件目录下,添加以下代码至主文件,

path/to/http://example.com

以及 plugin-directory-name 需要自行修改:

require'path/to/plugin-update-checker/plugin-update-checker.php';

$MyUpdateChecker=PucFactory::buildUpdateChecker(

'http://example.com/wp-update-server/?action=get_metadata&slug=plugin-directory-name',//plugin-directory-name 保持与插件名相同

__FILE__,//Full path to the main plugin file.

'plugin-directory-name'//plugin-directory-name 保持与插件名相同

);

在插件目录下创建 readme.txt 作为查看版本详情的文件。 Plugin Update Checker 每 12 小时检查一次插件更新,不会影响网站加载速度。

与 WordPress 主题整合

Theme Update Checker 下载地址:http://1.shadowcdn.com/files/theme-updates.zip

将 Theme Update Checker 放置在需要开启升级功能的主题目录下,添加以下代码至 functions.php ,

path/to/http://example.com

以及 theme-directory-name 需要自行修改:

require'path/to/theme-updates/theme-update-checker.php';

$MyThemeUpdateChecker=newThemeUpdateChecker(

'theme-directory-name',//theme-directory-name 保持与主题名字相同

'http://example.com/wp-update-server/?action=get_metadata&slug=theme-directory-name'//theme-directory-name 保持与主题名字相同

);

添加 Details URI 标识至 Style.css 文件,作为查看版本详情的文件:

Details URI:http://example.com/my-theme-changelog.html

Theme Update Checker 每 12 小时检查一次插件更新,不会影响网站加载速度。