WordPress 非官方主题/插件添加在线升级功能

冉冉升起的如银的炊烟,那更古沉默永不停息的小溪,那驮着夕阳缓缓独行的老牛,一方方秧田像棋盘格子,绿绒绒的秧苗,织成一幅幅地毯,远远地伸向天际;丛丛绿树掩映着青砖红瓦的房屋。春天,故乡的松树林依然郁郁苍苍,映山红却已开遍山丘。

WordPress的主题、插件、核心升级提醒、自动更新、一键更新等功能非常实用,但唯一不足在于仅限于提交至WordPress.ORG的主题/插件。国外主题审查非常严格,这也造成了部分大神开发的困扰……尝试使用倡萌原先的解决方法失败(WordPress主题制作 之 添加自动检测更新和一键升级功能),之前在修复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下载地址:https://github.com/YahnisElsts/wp-update-server/archive/master.zip

  1. 确保cachelogs 两个文件夹可写;
  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 需要自行修改:

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', //Metadata URL.
__FILE__, //完整路径到主插件文件
'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', //Metadata URL. __FILE__, //完整路径到主插件文件 '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.phppath/to/http://example.com 以及theme-directory-name 需要自行修改:

1
2
3
4
5
require 'path/to/theme-updates/theme-update-checker.php';
$MyThemeUpdateChecker = new ThemeUpdateChecker(
'theme-directory-name', //主题别名。通常和主题目录名称一样
'http://example.com/wp-update-server/?action=get_metadata&slug=theme-directory-name' //Metadata URL.
);

require 'path/to/theme-updates/theme-update-checker.php'; $MyThemeUpdateChecker = new ThemeUpdateChecker( 'theme-directory-name', //主题别名。通常和主题目录名称一样 'http://example.com/wp-update-server/?action=get_metadata&slug=theme-directory-name' //Metadata URL. );

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

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

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

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

更多详细的介绍,请查看官方文档:https://github.com/YahnisElsts/wp-update-server

转载请注明来自WP酷:http://www.mywpku.com/how-to-use-wp-update-server.html

以上就是WordPress 非官方主题/插件添加在线升级功能。爱的艺术就像风筝,只有给它风一般的自由,你才会看到它飞舞在蓝天的景致。更多关于WordPress 非官方主题/插件添加在线升级功能请关注haodaima.com其它相关文章!