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 小时检查一次插件更新,不会影响网站加载速度。