倡萌昨天分享了 WordPress主題制作 之 添加自動檢測更新和一鍵升級功能 ,那么對于插件,能否實現(xiàn)插件的自動在線檢測更新和一鍵升級呢?其實也是可以的,當然了,如果你將插件提交到WordPress官方,那就沒必要看文本的折騰了。如果你開發(fā)的是收費插件,不打算提交到WordPress官方,那你就很有必要給你的插件添加檢測和一鍵升級的功能了。 該方法同樣來自于 w-shadow.com ,倡萌測試成功,下面根據(jù)自己的理解寫個過程。
設置遠程服務和添加插件檢測功能
1.下載所需文件:
- Client library (要求 PHP5 和 WP 3.0 以上)
- Example plugin
- Example metadata file (右鍵另存為)
下載第1個和第3個即可,中間那個是樣例,你也可以下載來看看,備用下載。
2.解壓下載的文件,得到 plugin-updates 文件夾 和 info.json 文件,將 plugin-updates 文件夾(含里面的文件)復制到該插件的根目錄,然后打開插件的主文件,在所有函數(shù)的前面添加類似下面的檢測代碼
/* 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)
上面的步驟如下圖所示:

3.在插件主文件上可以看到版本號,如上圖的 Version: 1.3.1 ,那么接下來你將新版本(比如 1.3.2)插件文件上傳到你主機空間的一個目錄里,只要可以通過http網(wǎng)址訪問即可。打開剛才下載的 info.json 文件,按照里面的樣式填入 插件別名、 新版插件的下載地址 和 版本號 等信息,如下圖

然后保存,將 info.json 文件上傳到你的主機空間中,建議和剛才上傳的插件在同一個目錄,方便管理,同樣要確保可以通過 http 訪問。
上圖是精簡的 info.json ,你可以根據(jù)樣例填寫完整的信息,相信對于開發(fā)插件的你來說,可以看明白:
{
"name" : "External Update Example",
"slug" : "external-update-example",
"homepage" : "http://www.ydqwiac.cn/",
"download_url" : "http://www.ydqwiac.cn/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" : "http://www.ydqwiac.cn/",
"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 步中插件主文件的檢測代碼中。
到這里,遠程更新服務和插件檢測功能都已經(jīng)添加好了。
插件更新演示
1.如果該插件已經(jīng)正常啟用,稍等就可以看到升級提示:

2.點擊上圖的 “查看 1.3.2 版本詳情”可以看到剛才我們在 info.json 填寫的一些信息:

3.安裝升級,順利的話,就可以升級成功:

插件升級所需要做的工作
1.更新插件主文件的 版本號,將插件包壓縮為 .zip格式,上傳到主機空間
2.更新 info.json 文件的 新版插件下載地址 和 版本號 等信息,上傳覆蓋原來的即可





版本詳情打不開。
請問如果我已經(jīng)提交到了官方,官方會提供更新功能麼?
如果你提交過插件到官方,你應該知道,只要你提交了新版本到官方,使用這個插件的用戶,就可以收到更新提示的
對,才看到,不知道為什麼過了幾個小時官方才推送過來
作者現(xiàn)在還在么
謝謝分享!學習了!