WordPress的主题、插件、核心升级提醒、自动更新、一键更新等功能非常实用,但唯一不足在于仅限于提交至WordPress.ORG的主题/插件。国外主题审查非常严格,这也造成了部分大神开发的困扰……今天在修复Azure时已实现WordPress非官方主题/插件能够正常升级的办法,与大家分享。
第一种解决方案:使用WPUS插件
一种解决方案是使用INN Studio博主的WP更新服务器插件,使用WPUS可大大简化插件或主题对外发布的步骤和版本管理。但WP酷并未测试成功。
第二种解决方案:搭建更新服务器
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下载地址:wp-update-server-master
- 1、确保 cache 和 logs 两个文件夹可写;
- 2、将更新的主题压缩包(ZIP格式)放置在 packages 文件夹下,且压缩包名必须与主题名称相同;
与WordPress插件整合
Plugin Update Checker下载地址:/2018/01/plugin-update-checker-master.zip
将Plugin Update Checker放置在需要开启升级功能的插件目录下,添加以下代码至主文件, path/to/ 、 http://example.com 以及 plugin–directory–name 需要自行修改:
1
2
3
4
5
6
|
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下载地址:/2018/01/theme-updates.zip
将Theme Update Checker放置在需要开启升级功能的主题目录下,添加以下代码至 functions.php , path/to/ 、 http://example.com 以及 theme–directory–name 需要自行修改:
1
2
3
4
5
|
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 文件,作为查看版本详情的文件:
1
|
Details URI:http://example.com/my-theme-changelog.html
|
Theme Update Checker每12小时检查一次插件更新,不会影响网站加载速度。