性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

WordPress插件开发 之 添加自动检测更新和一键升级功能

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

倡萌昨天分享了 WordPress主题制作 之 添加自动检测更新和一键升级功能 ,那么对于插件,能否实现插件的自动在线检测更新和一键升级呢?其实也是可以的,当然了,如果你将插件提交到WordPress官方,那就没必要看文本的折腾了。如果你开发的是收费插件,不打算提交到WordPress官方,那你就很有必要给你的插件添加检测和一键升级的功能了。 该方法同样来自于 w-shadow.com ,倡萌测试成功,下面根据自己的理解写个过程。

设置远程服务和添加插件检测功能

1.下载所需文件:

  • Client library (要求 PHP5 和 WP 3.0 以上)
  • Example plugin
  • Example metadata file (右键另存为)

下载第1个和第3个即可,中间那个是样例,你也可以下载来看看,备用下载

2.解压下载的文件,得到 plugin-updates 文件夹 和 info.json 文件,将 plugin-updates 文件夹(含里面的文件)复制到该插件的根目录,然后打开插件的主文件,在所有函数的前面添加类似下面的检测代码

1
2
3
4
5
6
7
/* plugin-update-checker */
require 'plugin-updates/plugin-update-checker.php';
$MyUpdateChecker = new PluginUpdateChecker(
    'http://www.xxx.com/update/qa-lite/info.json',
    __FILE__,
    'qa-lite'
);

注意:第4行 是 info.json 的访问地址(下文将讲到),第 6 行 ‘qa-lite’ 是插件的别名 slug(一般就是插件主文件 qa-lite.php 去除.php后的 qa-lite)

上面的步骤如下图所示:

wpdaxue.com-201301307

3.在插件主文件上可以看到版本号,如上图的 Version: 1.3.1 ,那么接下来你将新版本(比如 1.3.2)插件文件上传到你主机空间的一个目录里,只要可以通过http网址访问即可。打开刚才下载的 info.json 文件,按照里面的样式填入 插件别名新版插件的下载地址版本号 等信息,如下图

wpdaxue.com-201301308

然后保存,将 info.json 文件上传到你的主机空间中,建议和刚才上传的插件在同一个目录,方便管理,同样要确保可以通过 http 访问。

上图是精简的 info.json ,你可以根据样例填写完整的信息,相信对于开发插件的你来说,可以看明白:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
    "name" : "External Update Example",
    "slug" : "external-update-example",
    "homepage" : "https://www.wpdaxue.com/",
    "download_url" : "https://www.wpdaxue.com/files/external-update-example/external-update-example.zip",
 
    "version" : "2.0",
    "requires" : "3.0",
    "tested" : "3.5",
    "last_updated" : "2012-10-29 11:09:00",
    "upgrade_notice" : "Here's why you should upgrade...",
 
    "author" : "Janis Elsts",
    "author_homepage" : "https://www.wpdaxue.com/",
 
    "sections" : {
        "description" : "(Required) Plugin description. Basic HTML can be used in all sections.",
        "installation" : "(Recommended) Installation instructions.",
        "changelog" : "(Recommended) Changelog. <p>This section will be opened by default when the user clicks 'View version XYZ information'.</p>",
        "custom_section" : "This is a custom section labeled 'Custom Section'." 
    },
 
    "rating" : 90,
    "num_ratings" : 123,
    "downloaded" : 1234
}

4.将刚才上传的 info.json  的访问地址填入 第 2 步中插件主文件的检测代码中。

到这里,远程更新服务和插件检测功能都已经添加好了。

插件更新演示

1.如果该插件已经正常启用,稍等就可以看到升级提示:

wpdaxue.com-201301309

2.点击上图的 “查看 1.3.2 版本详情”可以看到刚才我们在  info.json  填写的一些信息:

wpdaxue.com-201301310

3.安装升级,顺利的话,就可以升级成功:

wpdaxue.com-201301311

插件升级所需要做的工作

1.更新插件主文件的 版本号,将插件包压缩为 .zip格式,上传到主机空间

2.更新 info.json 文件的 新版插件下载地址版本号 等信息,上传覆盖原来的即可

支付宝扫码打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

MetInfo | 最适合企业网站建设的cms系统

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

精彩推荐

WordPress函数:wp_page_menu(页面菜单)

使用Theme Check检测WordPress主题是否规范标准

使用Theme Check检测WordPress主题是否规范标准

5 条评论

  1. 請問如果我已經提交到了官方,官方會提供更新功能麼?

  2. 谢谢分享!学习了!

发表评论