WordPress插件的自定義更新檢查器。如果您不想將項(xiàng)目托管在正式的WP存儲(chǔ)庫(kù)中,但仍然希望它支持自動(dòng)更新,則很有用。盡管名稱,它也適用于主題。
Github: https://github.com/YahnisElsts/plugin-update-checker
本站下載:
[zrz_file link="https://cdn.getimg.net/npc/2019/wordpress/plugin/plugin-update-checker-4.8.1.zip" name="plugin-update-checker-4.8.1.zip" code=""]插件更新檢查器
這是針對(duì)WordPress插件和主題的自定義更新檢查器庫(kù)。它使您可以將自動(dòng)更新通知和一鍵式升級(jí)添加到商業(yè)插件,私有主題等。您需要做的就是將插件/主題詳細(xì)信息放在JSON文件中,將文件放在服務(wù)器上,然后將URL傳遞給庫(kù)。該庫(kù)會(huì)定期檢查URL,以查看是否有可用的新版本,并在必要時(shí)向用戶顯示更新通知。
從用戶的角度來(lái)看,它就像在WordPress.org上托管的插件和主題一樣工作。更新檢查器使用大多數(shù)WordPress用戶熟悉的默認(rèn)升級(jí)UI。
- GitHub整合
- BitBucket集成
- GitLab集成
入門(mén)
自托管插件和主題
- 下載最新版本并將
plugin-update-checker
目錄復(fù)制到您的插件或主題。 - 轉(zhuǎn)到
examples
子目錄,然后打開(kāi)適合您的項(xiàng)目類型的.json文件。用您的插件/主題詳細(xì)信息替換占位符數(shù)據(jù)。- 插件示例:
{
"name" : "Plugin Name",
"version" : "2.0",
"download_url" : "http://example.com/plugin-name-2.0.zip",
"sections" : {
"description" : "Plugin description here. You can use HTML."
}
}
- 這是一個(gè)最小的示例,其中省略了可選字段。有關(guān)受支持字段及其說(shuō)明的完整列表,請(qǐng)參見(jiàn)此表。
- 主題示例:
{
"version": "2.0",
"details_url": "http://example.com/version-2.0-details.html",
"download_url": "http://example.com/example-theme-2.0.zip"
}
- 這實(shí)際上是一個(gè)完整的示例,其中顯示了所有與主題相關(guān)的字段。
version
并且download_url
應(yīng)該是不言自明的。該details_url
鍵指定頁(yè)面,用戶將看到,如果他們點(diǎn)擊“查看版本1.2.3的詳細(xì)信息”鏈接的更新通知。
require 'path/to/plugin-update-checker/plugin-update-checker.php';
$myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
'http://example.com/path/to/details.json',
__FILE__, //Full path to the main plugin file or functions.php.
'unique-plugin-or-theme-slug'
);
- 注意:如果您使用的是Composer自動(dòng)加載器,則不需要顯式
require
的庫(kù)。
如何發(fā)布更新
更改version
JSON文件中的數(shù)字,并確保其download_url
指向最新版本。如有必要,請(qǐng)更新其他字段。提示:您可以使用wp-update-server自動(dòng)執(zhí)行此過(guò)程。
默認(rèn)情況下,庫(kù)將每12小時(shí)檢查一次指定的URL是否有更改。您可以通過(guò)單擊“插件”頁(yè)面上的“檢查更新”鏈接(位于“訪問(wèn)插件站點(diǎn)”鏈接旁邊)來(lái)強(qiáng)制其立即進(jìn)行檢查。主題沒(méi)有該鏈接,但是您也可以像這樣觸發(fā)更新檢查:
- 安裝調(diào)試欄。
- 點(diǎn)擊管理欄(又稱工具欄)中的“調(diào)試”菜單。
- 打開(kāi)“ PUC(您的子彈)”面板。
- 點(diǎn)擊“立即檢查”按鈕。
筆記
- 傳遞給第二個(gè)參數(shù)
buildUpdateChecker
必須是主插件文件或主題目錄中任何文件的絕對(duì)路徑。如果遵循“入門(mén)”說(shuō)明,則可以只使用__FILE__
常量。 - 第三個(gè)參數(shù)(即段塞)是可選的,但建議使用。在大多數(shù)情況下,該段應(yīng)該與您的插件目錄的名稱相同。例如,如果您的插件位于其中
/wp-content/plugins/my-plugin
,請(qǐng)將slug設(shè)置為my-plugin
。如果忽略該段,更新檢查器將使用主插件文件的名稱作為段(例如my-cool-plugin.php
→?my-cool-plugin
)。如果您的插件的通用文件名為,則可能導(dǎo)致沖突plugin.php
。這不會(huì)影響主題,因?yàn)镻UC使用主題目錄名稱作為默認(rèn)標(biāo)記。但是,如果您打算在自己的代碼中使用該段代碼(例如,過(guò)濾更新或覆蓋更新檢查器行為),則最好進(jìn)行顯式設(shè)置。
許可證管理
當(dāng)前,更新檢查器沒(méi)有任何內(nèi)置的許可證管理功能。它僅提供了一些掛鉤,您可以使用這些掛鉤,例如,添加許可證密鑰以更新請(qǐng)求($updateChecker->addQueryArgFilter()
)。如果您正在尋找管理和驗(yàn)證許可證的方法,請(qǐng)?jiān)?a target="_blank">此問(wèn)題中發(fā)表您的反饋。
GitHub整合
- 下載最新版本并將
plugin-update-checker
目錄復(fù)制到您的插件或主題。 - 將以下代碼添加到主插件文件或
functions.php
:
require 'plugin-update-checker/plugin-update-checker.php';
$myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
'https://github.com/user-name/repo-name/',
__FILE__,
'unique-plugin-or-theme-slug'
);
//Optional: If you're using a private repository, specify the access token like this:
$myUpdateChecker->setAuthentication('your-token-here');
//Optional: Set the branch that contains the stable release.
$myUpdateChecker->setBranch('stable-branch-name');
- 僅插件:將
readme.txt
根據(jù)WordPress.org插件自述文件標(biāo)準(zhǔn)格式化的文件添加到您的存儲(chǔ)庫(kù)。當(dāng)用戶單擊“查看版本1.2.3詳細(xì)信息”鏈接時(shí),將顯示此文件的內(nèi)容。
如何發(fā)布更新
該庫(kù)支持幾種不同的方法來(lái)在GitHub上發(fā)布更新。選擇最適合您的工作流程的一種。
- GitHub版本使用GitHub上的“發(fā)布”功能創(chuàng)建新版本。標(biāo)簽名稱和發(fā)行標(biāo)題無(wú)關(guān)緊要。該描述是可選的,但如果您提供了描述,則當(dāng)用戶單擊“插件”頁(yè)面上的“查看版本xyz詳細(xì)信息”鏈接時(shí),將顯示該描述。請(qǐng)注意,PUC會(huì)忽略標(biāo)記為“這是預(yù)發(fā)行版本”的發(fā)行版本。如果要使用發(fā)布資產(chǎn),請(qǐng)
enableReleaseAssets()
在創(chuàng)建更新檢查器實(shí)例后調(diào)用該方法:
$myUpdateChecker->getVcsApi()->enableReleaseAssets();
- 標(biāo)簽要發(fā)布1.2.3版,請(qǐng)創(chuàng)建一個(gè)名為
v1.2.3
或的新Git標(biāo)簽1.2.3
。而已。PUC不需要嚴(yán)格遵守SemVer。這些都是有效的標(biāo)簽名稱:v1.2.3
,v1.2-foo
,1.2.3_rc1-ABC
,1.2.3.4.5
。但是,請(qǐng)注意,它不足以過(guò)濾掉alpha / beta / RC版本。如果這是一個(gè)問(wèn)題,你可能需要使用GitHub的版本或分支代替。 - 穩(wěn)定的分支將更新檢查器指向穩(wěn)定的生產(chǎn)就緒分支:
$updateChecker->setBranch('branch-name');
- PUC將定期檢查
Version
主插件文件中的標(biāo)頭,或者style.css
如果它大于已安裝的版本,則顯示通知。注意:如果將分支設(shè)置為master
(默認(rèn)值),更新檢查器將首先查找最新版本和標(biāo)簽。master
如果找不到其他合適的分支,它將僅使用分支。
筆記
該庫(kù)將從發(fā)布/標(biāo)簽/分支的以下部分提取更新詳細(xì)信息:
- 版本號(hào)
- “版本”插件標(biāo)頭。
- 最新的GitHub版本或標(biāo)簽名稱。
- 變更日志
- 的“更改日志”部分
readme.txt
。 - 以下文件之一:CHANGES.md,CHANGELOG.md,changes.md,changelog.md
- GitHub發(fā)行說(shuō)明。
- 的“更改日志”部分
- 必需和經(jīng)過(guò)測(cè)試的WordPress版本
- 中的“至少需要”和“經(jīng)過(guò)測(cè)試”字段
readme.txt
。 - 以下插件頭:?
Required WP
,Tested WP
,Requires at least
,Tested up to
- 中的“至少需要”和“經(jīng)過(guò)測(cè)試”字段
- “最新更新”時(shí)間戳
- 最新GitHub版本的創(chuàng)建時(shí)間戳。
- 所選標(biāo)簽或分支中的最新提交。
- 下載次數(shù)
download_count
最新版本的統(tǒng)計(jì)信息。- 如果您不使用GitHub版本,則不會(huì)有下載統(tǒng)計(jì)信息。
- 其他插件詳細(xì)信息-作者,首頁(yè)URL,描述
- 的“說(shuō)明”部分
readme.txt
。 - 遠(yuǎn)程插件頭(即GitHub上的最新版本)。
- 本地插件頭(即當(dāng)前安裝的版本)。
- 的“說(shuō)明”部分
- 評(píng)分,橫幅,屏幕截圖
- 不支持。