欢迎光临
我们一直在努力

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

建站超值云服务器,限时71元/月

本文目录
[隐藏]

  • 1设置远程服务和添加插件检测功能
  • 2插件更新演示
  • 3插件升级所需要做的工作

倡萌昨天分享了 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'
);

/* 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)

上面的步骤如下图所示:

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

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

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

然后保存,将 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
}

{ “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.如果该插件已经正常启用,稍等就可以看到升级提示:

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

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

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

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

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

插件升级所需要做的工作

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » WordPress插件开发 之 添加自动检测更新和一键升级功能
分享到: 更多 (0)