WordPress插件開發(fā)教程手冊(cè) — 發(fā)布插件到 WordPress.org

本教程詳細(xì)介紹了如何將開發(fā)的WordPress插件提交到WordPress.org插件庫,包括必須遵守的GPL許可證要求、插件提交的3個(gè)步驟以及審核流程。此外,還提供了關(guān)于SVN上傳、插件資源管理和開發(fā)者責(zé)任的實(shí)用指南,幫助開發(fā)者順利發(fā)布插件并遵守平臺(tái)規(guī)范。

WordPress.org 為每一個(gè)想要開發(fā)插件的開發(fā)者提供免費(fèi)托管服務(wù),通過這個(gè)服務(wù),我們可以:

  • 監(jiān)控插件下載數(shù)量
  • 獲取插件版本使用統(tǒng)計(jì)
  • 接收用戶的反饋和評(píng)價(jià)
  • 通過免費(fèi)論壇提供支持

WordPress.org 同時(shí)提供了一個(gè) WordPress插件 API,供開發(fā)者監(jiān)控插件的統(tǒng)計(jì)數(shù)據(jù)。

要求

WordPress.org 有一個(gè)詳細(xì)的插件指南,指南中提供了示例和說明,下面是其中最重要的幾個(gè)方面。

  • 插件的許可能必須與?GNU通用公共許可證v2?或更高版本的兼容,強(qiáng)烈建議使用和 WordPress 相同的許可證 – “GPLv2或更高版本”,如果沒有為插件指定許可證,則插件的許可能默認(rèn)被認(rèn)為兼容?GPLv2或更高版本。
  • 插件和開發(fā)者不得做任何非法、不誠實(shí)或道德上的冒犯行為。
  • 提供的 Subversion 版本庫只能用于 WordPress插件,插件目錄是一個(gè)托管和分發(fā)插件的站點(diǎn),也不是公共列表站點(diǎn)。
  • 插件不得在公共站點(diǎn)上嵌入外部鏈接(如 “Power by” 鏈接或廣告),也不得在沒有明確用戶許可和文檔的情況下調(diào)用外部服務(wù)。

插件提交

我們需要通過以下 3 個(gè)步驟提交插件到 WordPress.org 插件庫。

  1. 在 WordPress.org 注冊(cè)一個(gè)有效的、經(jīng)常使用的電子郵件地址,如果代表公司提交插件,請(qǐng)使用公司官方的電子郵件地址注冊(cè)。
  2. 添加 [email protected] 到電子郵件的白名單,以確保可以收到插件庫發(fā)送的電子郵件。
  3. 提交插件,簡(jiǎn)要介紹一下插件功能,以及一個(gè)完整的,準(zhǔn)備好的插件。

一旦插件進(jìn)入等待審核隊(duì)列,WordPress插件審核團(tuán)隊(duì)會(huì)在 14 個(gè)工作日內(nèi)審核插件,大部分問題可以通過遵循知道方針來避免。如果發(fā)現(xiàn)插件有問題,審核團(tuán)隊(duì)會(huì)聯(lián)系開發(fā)人員,并提改進(jìn)建議。獲得批準(zhǔn)后,開發(fā)人員將收到一封電子郵件,其中包含如何訪問 Subversion 存儲(chǔ)庫的詳細(xì)信息,然后我們就可以通過 SVN 來上傳我們的插件了。

上傳后插件(和一個(gè)描述文件)后,插件將出現(xiàn)在插件目錄中。

更多信息

詳細(xì)的插件指南

插件目錄

WordPress插件目錄的目的是為所有 WordPress 用戶(從技術(shù)人員到普通用戶)提供一個(gè)空間, 供我們下載安全的、與 WordPress 項(xiàng)目目標(biāo)一致的插件。

為此,我們希望確保為開發(fā)人員提供一個(gè)簡(jiǎn)單透明的過程來提交插件到插件目錄。作為我們不斷努力使插件目錄包含過程更加透明的一部分,我們創(chuàng)建了一個(gè)開發(fā)人員指南列表。我們努力為所有開發(fā)者創(chuàng)造一個(gè)公平的競(jìng)爭(zhēng)環(huán)境。

如果您有任何改善文檔的建議或其他相關(guān)問題,請(qǐng)發(fā)送電子郵件至 [email protected] 并通知我們。

對(duì)開發(fā)者的期望

所有具有提交訪問權(quán)限的用戶以及所有正式支持插件的用戶都應(yīng)遵守目錄指南。違反規(guī)則可能導(dǎo)致插件或插件數(shù)據(jù)(針對(duì)以前認(rèn)可的插件)從目錄中刪除,直到問題得到解決。插件數(shù)據(jù)(如用戶評(píng)論和代碼)可能無法恢復(fù),這取決于違規(guī)行為的性質(zhì)以及同行審查的結(jié)果。重復(fù)違規(guī)可能會(huì)導(dǎo)致作者的所有插件被刪除,開發(fā)者被禁止在 WordPress.org 上托管插件。

插件開發(fā)者有責(zé)任確保他們?cè)?WordPress.org 上的聯(lián)系信息是最新和準(zhǔn)確的,以便他們收到來自插件團(tuán)隊(duì)的所有通知。聯(lián)系信息不允許被轉(zhuǎn)發(fā)到支持系統(tǒng)的自動(dòng)回復(fù)的電子郵件,因?yàn)檫@會(huì)導(dǎo)致開發(fā)者不能及時(shí)處理電子郵件。

目錄中的所有代碼應(yīng)盡可能安全。安全是插件開發(fā)人員的最終責(zé)任,插件目錄會(huì)盡可能強(qiáng)制執(zhí)行此操作。如果一個(gè)插件被發(fā)現(xiàn)有安全問題,它將被關(guān)閉,直到問題得到解決。在極端情況下,插件可能會(huì)被 W??ordPress 安全團(tuán)隊(duì)更新,并為了大眾的安全而進(jìn)行傳播。

盡管我們盡可能詳細(xì)地解釋相關(guān)準(zhǔn)則,但也不可能面具到的涵蓋所有情況。如果您不確定插件是否會(huì)違反準(zhǔn)則,請(qǐng)通過 [email protected] 與我們聯(lián)系咨詢。

插件目錄使用指南

1、插件必須與GNU通用公共許可證v2兼容

雖然任何 GPL 兼容許可證都是可以的,但強(qiáng)烈建議使用與 WordPress 相同的許可證 – “GPLv2或更高版本”。所有代碼,數(shù)據(jù)和圖像等任何在 WordPress.org插件目錄中托管的的內(nèi)容都必須符合 GPLv2。包含的第三方庫,代碼,圖像或其他,必須兼容。有關(guān)兼容許可證的具體列表,請(qǐng)閱讀 gnu.org 上的 GPL 兼容許可證列表。

2、開發(fā)人員對(duì)其插件的內(nèi)容和操作負(fù)責(zé)。

插件開發(fā)者有責(zé)任確保插件中的所有文件都符合插件指南。禁止故意編寫代碼來規(guī)避指導(dǎo)原則,或者修復(fù)要求刪除的代碼(請(qǐng)參閱#9 非法/不誠實(shí)行為)。在上傳到 SVN 之前,開發(fā)人員需要確認(rèn)所有包含文件的許可,從原始源代碼到圖像和庫。此外,這些資源必須遵守其所使用的第三方服務(wù)和 API 的使用條款。如果無法驗(yàn)證類庫許可證或 API 條款,則不能使用。

3、必須從 WordPress插件目錄頁面提供一個(gè)插件的穩(wěn)定版本

WordPress.org 分發(fā)的唯一版本是插件目錄中的插件。開發(fā)者可能在其他地方開發(fā)代碼,但用戶使用的插件是從插件目錄中下載的。通過備用方法分發(fā)代碼,而不使插件庫里的代碼保持最新,可能會(huì)導(dǎo)致插件被刪除。

4、代碼必須(大部分)具有可讀性。

目錄中的代碼不允許使用類似于p,a,c,k,e,r的混淆功能,不能使用 uglify 混淆或不明確的命名(如$ z12sdf813d)等方法來隱藏代碼。不幸的是,許多人使用這種方法來嘗試和隱藏惡意代碼,如后門或跟蹤。此外,WordPress 代碼旨在讓任何人都能夠?qū)W習(xí),編輯和適配。如果代碼不具可讀性,開發(fā)人員會(huì)面臨不必要的障礙??梢允褂脡嚎s的代碼,但也應(yīng)該盡可能包含未壓縮的版本。我們推薦以下 WordPress核心編碼標(biāo)準(zhǔn)。

5、不允許發(fā)布試用版

插件可以不應(yīng)該包含受只能通過付款或升級(jí)提供的限制或鎖定的功能。在試用期或配額之后,這些功能不應(yīng)該被禁用。免費(fèi)功能也應(yīng)該被原樣包含在付費(fèi)功能中(見指南 6:serviceware),插件內(nèi)的所有代碼應(yīng)該完全可用。我們建議在 WordPress.org 外部托管插件的附加組件,以排除包含高級(jí)功能的代碼。插件可以以用戶能夠接收的方式推廣其他插件(不要劫持管理后臺(tái)),他們不應(yīng)該過分突出或打擾用戶。

6、允許提供軟件即服務(wù)(SAAS)

充當(dāng)插件通過使用第三方服務(wù)(例如,視頻托管站點(diǎn))接口提供服務(wù),即便是付費(fèi)服務(wù)。服務(wù)本身必須提供內(nèi)容功能,并在和插件一起提交的自述文件中描述清除,最好鏈接到服務(wù)的使用條款。

不允許的服務(wù)和功能包括:

  • 不允許存在僅用于驗(yàn)證許可證或密鑰,而本地包含插件的所有功能方面的服務(wù)。
  • 禁止從插件移出任意代碼來創(chuàng)建服務(wù),以使服務(wù)錯(cuò)誤地出現(xiàn)以提供補(bǔ)充功能。
  • 插件不應(yīng)該是服務(wù)的店面。不允許僅作為從外部系統(tǒng)購買產(chǎn)品的前端的插件。

7、插件不應(yīng)該在未經(jīng)用戶同意的情況下追蹤用戶。

為了保護(hù)用戶隱私,插件不應(yīng)該在未經(jīng)過用戶明確和授權(quán)的同意情況下,訪問外部服務(wù)器來跟蹤用戶。有關(guān)如何收集和使用用戶數(shù)據(jù)的文檔應(yīng)該包含在插件的自述文件中,最好有明確的隱私政策。

禁止追蹤的一些例子包括:

  • 自動(dòng)收集用戶數(shù)據(jù),無需用戶明確確認(rèn)。
  • 有意誤導(dǎo)用戶提交信息作為使用插件本身的要求。
  • 卸載圖像和腳本時(shí)不作為服務(wù)。
  • 沒有文檔說明(或說明不完善)的情況下使用外部數(shù)據(jù)(如黑名單)。
  • 跟蹤使用和/或視圖的第三方廣告機(jī)制。

這項(xiàng)政策的例外是軟件即服務(wù),例如Twitter,亞馬遜 CDN 插件或 Akismet。通過安裝,激活,注冊(cè)和配置利用這些服務(wù)的插件,就可以獲得這些系統(tǒng)的同意。

8、插件不應(yīng)該通過第三方系統(tǒng)發(fā)送可執(zhí)行代碼。

從文件服務(wù)的外部加載代碼是允許的,但所有的通信必須盡可能安全。不允許在不作為服務(wù)的情況下在插件中執(zhí)行外部代碼,例如:

  • 提供更新或以其他方式安裝來自 WordPress.org以外的服務(wù)器的插件,主題或加載項(xiàng)
  • 安裝相同插件的高級(jí)版本
  • 除字體包含以外的其他原因調(diào)用第三方 CDN;所有與服務(wù)無關(guān)的 JavaScript 和 CSS 都必須包含在本地。
  • 使用第三方服務(wù)來管理定期更新的數(shù)據(jù)列表,當(dāng)服務(wù)的使用條款中沒有明確允許時(shí)。
  • 使用 iframe 連接管理頁面;應(yīng)該使用API??來降低安全風(fēng)險(xiǎn)

管理服務(wù)與軟件交互并將軟件推送到站點(diǎn)是允許的,只要該服務(wù)處理自己的域上的交互,而不是在 WordPress 儀表板中。

9、開發(fā)人員及其插件不得做任何非法,不誠實(shí)或道德上的冒犯行為。

雖然這是主觀的而且比較寬泛,但是其目的是防止插件,開發(fā)者和公司濫用最終用戶以及其他插件開發(fā)者的自由和權(quán)利。這包括(但不限于)以下示例:

  • 人為地通過關(guān)鍵字填充,黑帽 SEO 或其他方式來操縱搜索結(jié)果
  • 提供驅(qū)動(dòng)更多的流量到使用插件的網(wǎng)站
  • 對(duì)他人進(jìn)行補(bǔ)償,誤導(dǎo),施壓,勒索或勒索其他人的評(píng)論或支持
  • 暗示用戶必須付費(fèi)解鎖包含的功能
  • 創(chuàng)建帳戶以生成假評(píng)論或支持票據(jù)(即 sockpuppeting)
  • 以其他開發(fā)者的插件和呈現(xiàn)他們作為原創(chuàng)的工作
  • 未經(jīng)許可使用用戶的服務(wù)器或資源,例如僵尸網(wǎng)絡(luò)或加密挖掘的一部分
  • 違反 WordCamp 行為準(zhǔn)則
  • 違反論壇指引
  • 針對(duì)任何其他WordPress社區(qū)成員的騷擾,威脅或?yàn)E用行為
  • 偽造個(gè)人信息,故意偽裝身份,并對(duì)以前的違規(guī)行為予以制裁
  • 故意試圖利用準(zhǔn)則中的漏洞

10、未經(jīng)明確要求用戶的許可,插件不得在公共站點(diǎn)上嵌入外部鏈接或貢獻(xiàn)

包含在代碼中的所有 “Powered By” 或者信用顯示和鏈接必須是可選的,并且默認(rèn)不顯示在用戶的前端頁面。用戶必須有選擇信用鏈接的權(quán)利,而不是放在使用條款中,強(qiáng)制要求顯示信用鏈接或才能工作。如果代碼是在服務(wù)而不是插件中生成的,則允許服務(wù)按照他們認(rèn)為合適的方式來標(biāo)記其輸出。

11、插件不應(yīng)該劫持管理儀表板

用戶喜歡插件使用起來像 WordPress 的一部分,而不是使用自成一格的界面來讓自己感到困惑。

升級(jí)提示,通知和警報(bào)必須在有限的范圍內(nèi)謹(jǐn)慎使用,或僅在插件的設(shè)置頁面上使用。任何站點(diǎn)范圍內(nèi)的通知或嵌入式儀表板小部件都可以在問題解決時(shí)自行消失或允許用戶關(guān)閉。錯(cuò)誤消息和警報(bào)必須包含有關(guān)如何解決情況的信息,并在完成時(shí)自行移除。

應(yīng)該避免在 WordPress 儀表盤上做廣告,它們通常是無效的。用戶很少訪問儀表盤,當(dāng)他們這樣做時(shí),他們正試圖解決一個(gè)問題。讓插件更難使用通常不會(huì)得到好評(píng),我們建議在其中放置廣告時(shí)保持節(jié)制。切記:不允許通過這些廣告追蹤引薦(參見指南7),大多數(shù)第三方系統(tǒng)不允許后端廣告。濫用廣告系統(tǒng)的指導(dǎo)方針會(huì)導(dǎo)致開發(fā)者向上游報(bào)告。

歡迎和鼓勵(lì)開發(fā)人員將自己的網(wǎng)站或社交網(wǎng)絡(luò)鏈接,以及本地(包括插件內(nèi))的鏈接包括在內(nèi),以增強(qiáng)體驗(yàn)。

12、WordPress.org上的公共頁面(自述文件)不能包含垃圾推廣信息。

面向公眾的頁面(包括自述文件和翻譯文件)不得包含垃圾推廣信息。垃圾推廣行為包括(但不限于)不必要的關(guān)聯(lián)鏈接,競(jìng)爭(zhēng)對(duì)手插件標(biāo)簽,總共超過12個(gè)標(biāo)簽,黑帽SEO和關(guān)鍵字填充。

允許鏈接到直接需要的產(chǎn)品,如插件使用所需的主題或其他插件,適度允許。同樣,相關(guān)的產(chǎn)品可以用在標(biāo)簽中,但不能使用競(jìng)爭(zhēng)對(duì)手的標(biāo)簽。如果一個(gè)插件是一個(gè)WooCommerce擴(kuò)展,可以使用標(biāo)簽 “woocommerce”。但是,如果該插件是 Akismet 的替代品,則可能不會(huì)使用該字段作為標(biāo)簽。

自述文件是為人寫的,而不是機(jī)器人。

在所有情況下,推廣鏈接必須公開,并且必須直接鏈接到相關(guān)服務(wù),而不是重定向或偽裝的 URL。

13、插件必須使用 WordPress 的默認(rèn)庫。

WordPress 包含許多有用的庫,比如 jQuery,Atom Lib,SimplePie,PHPMailer,PHPass 等等。出于安全性和穩(wěn)定性的原因,插件不應(yīng)該在自己的代碼中包含這些庫的其他版本。相反,插件必須使用 WordPress 打包的這些庫的版本。

有關(guān) WordPress 中包含的所有 JavaScript 庫,請(qǐng)查看 WordPress 包含的默認(rèn)腳本和注冊(cè)。

14、應(yīng)該避免頻繁地提交插件。

SVN 存儲(chǔ)庫是一個(gè)發(fā)布版本庫,而不是開發(fā)版本庫,所有提交,代碼或自述文件將觸發(fā)與插件關(guān)聯(lián)的 zip 文件的重新生成。所以只有準(zhǔn)備部署的代碼(是一個(gè)穩(wěn)定的版本,測(cè)試版或RC版)才能被推送到 SVN。強(qiáng)烈建議在每個(gè)提交中包含描述性和信息性消息。頻繁的“垃圾”提交消息,如“更新”或“清理”,使其他人難以遵循更改。多個(gè)只調(diào)整插件的小方面(包括自述文件)的快速提交會(huì)對(duì)系統(tǒng)造成不必要的壓力,并且可以被視為調(diào)戲最近更新的列表。

當(dāng)更新自述文件只是為了表示支持最新版本的 WordPress 時(shí),是一個(gè)例外,可以提交。

15、每個(gè)新版本的插件版本號(hào)必須遞增

只有當(dāng)插件版本增加時(shí)才會(huì)提醒用戶更新。主干的 readme.txt 必須始終反映當(dāng)前版本的插件。有關(guān)標(biāo)記的更多信息,請(qǐng)閱讀 SVN 關(guān)于 Tag 的說明以及 readme.txt 是如何工作的。

16、提交時(shí)必須提供完整的插件。

所有插件在批準(zhǔn)之前都會(huì)被檢查,這就是為什么需要 zip 文件的原因。名稱不能“保留”以備將來使用或保護(hù)品牌(見#17:尊重品牌)。其他開發(fā)人員可能會(huì)使用未使用的已批準(zhǔn)插件的目錄名稱。

17、插件必須尊重商標(biāo),版權(quán)和項(xiàng)目名稱

除非合法所有權(quán)/代表證明能夠得到確認(rèn),否則禁止將商標(biāo)或其他項(xiàng)目用作插件 slug 唯一或初始權(quán)。例如,WordPress 基金會(huì)已經(jīng)注冊(cè)了“WordPress”一詞,在域名中使用“wordpress”是一種違法行為。這個(gè)政策延伸到插件 slugs,我們不會(huì)允許一個(gè) slug 開始另一個(gè)產(chǎn)品的任期。

例如,只有 Super Sandbox 的員工可以在 “Super Sandbox Dancing Sloths” 或其他安排中使用 “super-sandbox” 或其品牌。非 Super Sandbox 員工應(yīng)該使用諸如“Dancing Sloths for Superbox” 等格式,以避免潛在的誤導(dǎo)用戶相信該插件是由 Super Sandbox 開發(fā)的。同樣,如果您不代表 “MellowYellowSandbox.js” 項(xiàng)目,則將其用作插件的名稱是不合適的。

建議使用原始品牌,因?yàn)檫@不僅有助于避免混淆,而且對(duì)用戶來說更加難忘。

18、我們保留盡我們所能維護(hù)插件目錄的權(quán)利

我們的意圖是盡可能地以公平的方式執(zhí)行這些指導(dǎo)方針。我們這樣做是為了確保整體插件的質(zhì)量和用戶的安全。為此,我們保留以下權(quán)利:

  • …隨時(shí)更新這些指南。
  • …禁用或刪除目錄中的任何插件,即使原因沒有明確指出。
  • …授予例外,并允許開發(fā)人員有時(shí)間解決問題,甚至是安全相關(guān)的問題。
  • …刪除開發(fā)人員對(duì)插件的訪問,以取代新的,活躍的開發(fā)人員。
  • …在沒有開發(fā)者同意的情況下為了公共安全而對(duì)插件進(jìn)行更改

作為回報(bào),我們承諾盡可能地為最終用戶和開發(fā)者使用這些權(quán)利。

規(guī)劃插件

你已經(jīng)寫下了下一個(gè)流行度比肩 Hello Dolly 的插件,并且想讓 WordPress 世界的人們了解并使用他,你該怎么做?

1、盡可能多的測(cè)試

運(yùn)氣好的話,你的插件會(huì)被許多人們?cè)诙喾N情況和托管環(huán)境下使用,要確保插件已經(jīng)得到了盡可能多的測(cè)試,測(cè)試涵蓋了各種情況,并且讓用戶使用起來不會(huì)覺得沮喪。

2、選擇一個(gè)好名稱

插件的名稱應(yīng)該反映你和插件的獨(dú)特性,選擇名字的時(shí)候,確保沒有侵犯商標(biāo)或與其他的產(chǎn)品名稱產(chǎn)生沖突。例如,如果你不在 Facebook 工作,你就不應(yīng)該命名你的插件為 “Facebook’s Dancing Squirrels”,命名為 “Dancing Squirrels for Facebook” 會(huì)更好一點(diǎn),想出一個(gè)好名稱不是一件容易的事情,所以,慢慢來,提交后,插件網(wǎng)站將無法更改,但是顯示名稱可以隨時(shí)更改。

3、撰寫優(yōu)秀的代碼

README.text 文件是最好的開始,因?yàn)檫@個(gè)文件是所有插件的標(biāo)準(zhǔn)參考點(diǎn),要確保該文件中包含:

  • 簡(jiǎn)要描述插件的實(shí)際作用是什么,如果插件的功能很多,分成兩個(gè)插件可能會(huì)更好一點(diǎn)。
  • 安裝說明,特別是需要特出配置的時(shí)候,如果用戶需要注冊(cè)服務(wù),請(qǐng)確保給出了注冊(cè)鏈接。
  • 關(guān)于如何獲得支持的指導(dǎo),以及你可以提供和不提供什么樣的支持。

4、在 WordPress.org 上發(fā)布第一個(gè)版本

WordPress.org 插件目錄是潛在用戶下載和安裝插件最簡(jiǎn)單的方式,把插件發(fā)布到 WordPress.org 插件目錄后,你的插件可以讓用戶通過點(diǎn)擊幾下來下載或更新。

發(fā)布只一個(gè)版本之前,你需要在插件目錄注冊(cè)一個(gè)賬戶。插件得到審核后,你將被授予 Subversion 存儲(chǔ)庫,WordPress.org 網(wǎng)站提供了完善的文檔,可以幫助你完成第一個(gè) Subversion 提交。

5、擁抱開源

開放源代碼是這個(gè)時(shí)代最偉大的想法之一,因?yàn)樗梢钥缭絿?guó)界進(jìn)行協(xié)作。通過鼓勵(lì)人們貢獻(xiàn),你可以讓別人可以和你一樣熱愛你的代碼,下面是幾個(gè)開放你源代碼的好地方。

  • Github?讓其他人參與你的項(xiàng)目變得非常簡(jiǎn)單。其他開發(fā)人員和用戶可以輕松的提交錯(cuò)誤修復(fù)或報(bào)告,功能請(qǐng)求和全新的代碼貢獻(xiàn)。
  • Bitbucket?是類似于 Github 之外的替代選擇。
  • WordPress.org 插件目錄提供并且要求你使用 Subversion。

6、傾聽你的用戶

你經(jīng)常會(huì)發(fā)現(xiàn),用戶經(jīng)常會(huì)在比你想象得多得情況下使用你得代碼,這是非常有價(jià)值得反饋。通過 WordPress.org 發(fā)布你的代碼意味著你的插件會(huì)自動(dòng)得到一個(gè)支持論壇。用上它,你可以通過電子郵件訂閱接收帖子更新,并及時(shí)回復(fù)你的用戶,他們和你一樣熱愛你的插件。

Automattic 幸福的工程師——Andrew Spittle 有兩篇關(guān)于提供良好支持的文章 “Avoiding Easy” 和 “The Speed of Support.” Jetpack 也有一篇文章關(guān)于 如何撰寫良好 Bug 報(bào)告 的文章。

7、定期推送新版本

最好的插件是隨著時(shí)間的推移不斷更顯迭代的插件,每次更新都提供一些小改進(jìn),而不用讓用戶等得太辛苦。記住,不斷更新會(huì)導(dǎo)致 “更新疲勞”,用戶將在疲勞的時(shí)候停止更新,保持一個(gè)合適的更新頻率很重要,不要太多,也不要太少。

8、堅(jiān)持工作

和生活中其他方面一樣,最好的事情來自良好的耐心和努力的工作。

使用 Subversion

我們將在這里描述一些關(guān)于使用 Subversion 的基本知識(shí),開始使用作出改變, 和 標(biāo)簽發(fā)布

這個(gè)文檔對(duì)于使用 SVN 并不是一個(gè)完整和可靠的說明,更多是關(guān)于在 WordPress.org 上發(fā)布插件的快速入門,更全面的文檔,請(qǐng)參閱 SVN 書籍。

有關(guān)更多信息,請(qǐng)參閱以下文檔:

術(shù)語

如果你是使用 Subversion 的新手,你需要先了解幾個(gè)術(shù)語,讓我們來看看 Subversion 的工作方式,介紹幾個(gè)術(shù)語。

所有的文件將幾種存儲(chǔ)在我們服務(wù)器上的 SVN 倉庫中,在這個(gè)倉庫中,任何人都可以將你的插件文件復(fù)制到本地機(jī)器,但是,作為插件作者,只有你有提交代碼的權(quán)限。這意味著你可以對(duì)文件進(jìn)行更改,添加新文件和刪除本地計(jì)算機(jī)上的文件,并將這些更改上傳到 SVN 中央服務(wù)器。這個(gè)過程會(huì)檢查更新代碼倉庫以及 WordPress.org 插件目錄中顯示的信息。

Subversion 會(huì)跟蹤所有代碼變化,以便你可以在需要的時(shí)候,查看所有舊版本和新版本。處理記住每個(gè)單獨(dú)的版本,你可以告訴 Subversion 來標(biāo)記某些版本庫以便參考,標(biāo)簽非常適合標(biāo)記插件的不同版本。

SVN 目錄

SVN 倉庫包含以下幾個(gè)目錄:

/assets/
/branches/
/tags/
/trunk/

及時(shí)你在別處開發(fā)你的插件(如 Git 倉庫),我們也建議你保持 trunk 文件夾于你的代碼保持同步,以方便 SVN 比較。

怎么使用

下面的說明將引導(dǎo)你了解使用 SVN 的一些基礎(chǔ)知識(shí)。

開始全新的插件

你只需要將已有的插件文件添加到新的 SVN 倉庫中即可。

要做到這一點(diǎn),你需要先在你的機(jī)器上創(chuàng)建一個(gè)本地目錄來存放一個(gè) SVN 倉庫副本:

$mkdir my-local-dir

然后,檢出于構(gòu)建的插件倉庫

$svn co https://plugins.svn.wordpress.org/your-plugin-name my-local-dir
> A  my-local-dir/trunk
> A  my-local-dir/branches
> A  my-local-dir/tags
> Checked out revision 11325.

如上面代碼所示,Subversion 已經(jīng)把所有的目錄從中英 SVN 倉庫添加到本地副本 (“A” 代表添加)。

要添加您的代碼,打開 my-local-dir 文件夾:$cd my-local-dir

現(xiàn)在,你可以通過任何方式把代碼添加到 trunk 目錄中。添加后,必須讓 Subversion 知道你想把這些文件添加到中央代碼倉庫中。

my-local-dir/$svn add trunk/*
> A  trunk/my-plugin.php
> A  trunk/readme.txt

[c-alert type=danger content=不要把主插件文件放在 trunk 的子文件夾中,如 /trunk/my-plugin/my-plugin.php,這樣做會(huì)破壞下載。您可以使用子文件夾來包含插件文件。 /]

添加完文件后,我們將提交并推送更改到中央插件倉庫。

my-local-dir/$svn ci -m 'Adding first version of my plugin'
> Adding trunk/my-plugin.php
> Adding trunk/readme.txt
> Transmitting file data .
> Committed revision 11326.

需要包含所有標(biāo)簽的提交信息。

如果提交因?yàn)?“禁止訪問” 而失敗,并且您知道您已提交訪問權(quán)限,請(qǐng)將您的用戶名和密碼添加到提交命令。

編輯以存在于代碼倉庫中的文件

假設(shè)你已經(jīng)提交了代碼帶插件倉庫,現(xiàn)在需要做一些修改。首先,進(jìn)入本地版本庫,并確保本地的代碼是最新的。

$cd my-local-dir/
my-local-dir/$ svn up
> At revision 11326.

在上面的例子中,本地代碼是最新的。如果中央存儲(chǔ)庫中有更改,它們將被下載并合并到您的本地副本中。

現(xiàn)在,你可以使用你喜歡的任何編輯器編輯需要改變的文件。

如果您沒有使用 SVN GUI 工具(如 SubVersion 或 Coda),則在進(jìn)行更改后,仍然可以檢查并查看本地副本與中央存儲(chǔ)庫之間的不同之處。首先我們檢查本地副本的狀態(tài):

my-local-dir/$ svn stat
> M  trunk/my-plugin.php

上面的命令告訴我們,我們的本地 trunk/my-plugin.php 與我們從中央存儲(chǔ)庫下載的副本不同(“M”代表“修改”)。

讓我們來看看該文件中究竟發(fā)生了什么變化,所以我們可以檢查一下,確保一切正確。

my-local-dir/$ svn diff
> * What comes out is essentially the result of a
* standard `diff -u` between your local copy and the
* original copy you downloaded.

如果一切看起來都沒問題,我們就可以提交代碼到中央代碼倉庫了。

my-local-dir/$ svn ci -m fancy new feature: now you can foo *and* bar at the same time
> Sending    trunk/my-plugin.php
> Transmitting file data .
> Committed revision 11327.

搞定!

標(biāo)記一個(gè)新版本

每次發(fā)布一個(gè)插件,我們都應(yīng)該該版本的代碼打一個(gè)標(biāo)簽,這樣做可以讓用戶輕松獲取最新或更早的版本,也可以讓你輕松跟蹤代碼更改,并讓 WordPress.org 插件目錄指定應(yīng)該讓用戶下載哪個(gè)版本的插件。

首先,將你的代碼副本復(fù)制到 tags/ 目錄中的子目錄,為了兼容 WordPress插件倉庫,新的子目錄應(yīng)該看起來像一個(gè)版本號(hào),比如 2.0.1.3 是一個(gè)好選擇,而 good, cool, hotness 就是個(gè)餿主意了。

我們可以使用 svn cp 而不是常規(guī)的 cp 來利用SVN的特性。

my-local-dir/$svn cp trunk tags/2.0
> A tags/2.0

現(xiàn)在,可以向以前一樣提交代碼了到插件倉庫了。

my-local-dir/$ svn ci -m tagging version 2.0
> Adding         tags/2.0
> Adding         tags/2.0/my-plugin.php
> Adding         tags/2.0/readme.txt
> Committed revision 11328.

或者,您可以使用 HTTP URL 來復(fù)制并節(jié)省帶寬:

my-local-dir/$svn cp https://plugins.svn.wordpress.org/your-plugin-name/trunk https://plugins.svn.wordpress.org/your-plugin-name/tags/2.0

這樣做會(huì)遠(yuǎn)程執(zhí)行復(fù)制,而不是在本地復(fù)制所有內(nèi)容并上傳。如果你的插件更大,這樣做是個(gè)不錯(cuò)的選擇。

標(biāo)記新版本后,不要忘了更新 trunk/readme.txt 中的 Stable Tag 字段!

恭喜!你已經(jīng)更新了你的代碼!

更多信息

插件開發(fā)者常見問題

提交和評(píng)論

怎么提交我的插件?

轉(zhuǎn)到添加頁面并上傳您的壓縮文件。

提交后發(fā)生了什么?

你會(huì)收到一封自動(dòng)發(fā)送的電子郵件,告訴你有關(guān)提交的信息,然后會(huì)有人手動(dòng)審查你的代碼。如果我們發(fā)現(xiàn)插件在安全性、文檔或演示方面都沒有問題,插件將被批準(zhǔn)。如果發(fā)現(xiàn)問題,你會(huì)收到一封郵件,郵件中會(huì)詳細(xì)說明你需要解決的問題。

插件的網(wǎng)址是什么?

當(dāng)你提交一個(gè)插件,你會(huì)得到一個(gè)自動(dòng)的電子郵件,告訴你插件的 Slug 將是什么。Slug 是基于主插件文件(插件頭文件)中插件名稱生成的。如果你設(shè)置你的插件名稱:Boaty McBoatface,那么你的 URL 將是 https://wordpress.org/plugins/boaty-mcboatface,你的 Slug 將是 boaty-mcboatface。如果有一個(gè)名字已經(jīng)存在的插件,那么你會(huì)在提交時(shí)得到一個(gè)警告。

插件得到批準(zhǔn)后,將不能重命名。請(qǐng)明智地選擇。

為什么我得到了一個(gè)與提交的不同的 slug

有時(shí)我們會(huì)注意到拼寫錯(cuò)誤并為您修復(fù)。其他時(shí)候,你選擇的名字有一個(gè)明顯的問題,不能使用。例如,如果你提交 “WooCommerceTango Salsa Add-on” ,你的 Slug 默認(rèn)將為 woocommerce-tango-salsa-add-on ,如果你不為WooCommerce工作,我們將為你修改為 woo-tango-salsa-add-on ,但是,如果您的 zip 文件被命名為 woo-tango-salsa,或者您使用有意拼寫的類名,那么我們可能會(huì)使用它。

基本上,我們會(huì)修復(fù)我們認(rèn)為對(duì)您不利的事情,如果我們不確定,我們會(huì)通過電子郵件通知您。對(duì)于明顯的錯(cuò)誤,我們將幫你解決這個(gè)問題。

插件獲得批準(zhǔn)需要多長(zhǎng)時(shí)間

沒有一個(gè)官方的平均時(shí)間,因?yàn)闆]有兩個(gè)插件是相同的,如果你的插件代碼量很小,并且所有代碼都是正確的,應(yīng)該在七天之內(nèi)得到批準(zhǔn)。如果你的插件有任何代碼問題,只要你及時(shí)修正了,也后很快得到批準(zhǔn)。如論那種方式,你都會(huì)收到來自 [email protected] 的電子郵件,請(qǐng)將其添加到你的電子郵件白名單中,并耐心等待我們的回復(fù)。

如果我的插件有問題,我需要在多長(zhǎng)時(shí)間內(nèi)修復(fù)?

多長(zhǎng)時(shí)間都可以,沒有時(shí)間要求。

為什么我的插件在 6 個(gè)月后被拒絕?

如果您在 6 個(gè)月內(nèi)沒有回復(fù)我們的評(píng)論,我們可能會(huì)拒絕,以便將你的請(qǐng)求在待處理的隊(duì)列保持在 1000 以下。如果您已經(jīng)回復(fù)了,即便只有一次,或者告訴我們告訴我們您正在編寫代碼,我們就不會(huì)拒絕。

修復(fù)了插件之后,我需要?jiǎng)?chuàng)新提交嗎?

不用,只需要回復(fù)電子郵件就可以了,即便是在一年之后。

我有 10 個(gè)插件,我可以一次提交嗎?

不可以。您一次只能在審閱隊(duì)列中插入一個(gè)插件。由于所有插件在7天內(nèi)得到初步審查,這不應(yīng)該是一個(gè)困難。

我應(yīng)該并避免做的具體事情是什么?

我們整理了一些非常明顯的注意事項(xiàng),所有這些都在我們的指導(dǎo)方針中列出。大多數(shù)可以總結(jié)為“不要成為垃圾郵件發(fā)送者”,但要觸及人們做的最多的事情:

  • 充當(dāng)服務(wù)時(shí)不包括readme.txt文件
  • 沒有使用 WP_DEBUG 模式測(cè)試插件
  • 包含了 WordPress 綁定的 JavaScript 庫的自定義版本。
  • 調(diào)用了不必要的外部資源
  • 添加了“Powered By”鏈接
  • 跟蹤用戶

再次,這是一個(gè)簡(jiǎn)要的概述。請(qǐng)閱讀指南,完整的清單是非常詳細(xì)的。

插件庫不接受哪些插件?

我們不接受不做任何事情的插件,違法或鼓勵(lì)不良行為。這包括黑帽 SEO 垃圾郵件,內(nèi)容調(diào)整器,仇恨插件等。一個(gè)插件應(yīng)該是直接有益于用戶的東西。它不應(yīng)該要求用戶編輯文件,它應(yīng)該只是開箱即用。我們也不接受 100% 復(fù)制其他人的工作或插件,復(fù)制在 WordPress 核心中發(fā)現(xiàn)的功能。基本上,你的插件應(yīng)該做一些新的,或以新的方式,或解決一個(gè)具體的問題。

我可以更改我的插件名稱嗎?

可以,也不可以,您可以更改顯示名稱,但是一旦插件獲得批準(zhǔn),slug(即屬于您的插件網(wǎng)址的一部分)將無法更改。這就是為什么我們多次提出警告。

要更改顯示名稱,請(qǐng)編輯主插件文件并將 “Plugin Name:” 的值更改為新名稱。你也可能想在你的readme.txt中編輯你的頭文件

有沒有不被允許使用的名稱

粗俗或冒犯的插件名稱(顯示名稱或 Slug)將不被允許。

有沒有不能在 slug 中使用的名稱

有!除了上述的低俗之外,我們還有以下限制:

  • 在極端情況下,插件不得在其 Slug 中使用 “WordPress” 或 “Plugin”
  • 不能在插件 Slug 中使用版本號(hào)
  • 由于系統(tǒng)限制,只能使用包含英文字母和阿拉伯?dāng)?shù)字的 Slug
  • 除非由官方代表提交,插件不得以商標(biāo)術(shù)語或特定項(xiàng)目/庫/工具的名稱開頭

我們鼓勵(lì)每個(gè)人都有自己的創(chuàng)意,并提出獨(dú)特的名字。截至2017年3月,我們將自動(dòng)更正任何具有不可接受名稱的插件。如果最好的名字有問題,我們會(huì)聯(lián)系你確定。

可以在我的顯示名稱中使用 WordPress 或 plugin 嗎?

是的,但是非常不建議,這是沒有意義并且多余的。

我犯了一個(gè)錯(cuò)誤,并提交了一個(gè)錯(cuò)誤的名字的插件。我該如何解決?

在提交的時(shí)候,你應(yīng)該收到了一封郵件讓你可以聯(lián)系我們。直接回復(fù)或發(fā)送電子郵件 [email protected] 說明情況,我們可以在批準(zhǔn)之前糾正插件 Slug,我們可以在批準(zhǔn)插件之前解決這個(gè)問題,所以我們總是可以幫助你糾正錯(cuò)誤,如果沒有,我們將告訴你需要做些什么,在我們批準(zhǔn)之前,我們會(huì)嘗試糾正拼寫錯(cuò)誤,但有時(shí)后,我們也會(huì)犯錯(cuò)。

我已經(jīng)有一個(gè)插件,但我想重做它!我只是再次提交,對(duì)吧?

不,相反,你應(yīng)該重寫現(xiàn)有的插件。使其成為主要的版本發(fā)布。我們不能重新命名插件或轉(zhuǎn)移用戶,所以新的用戶不會(huì)繼承任何現(xiàn)有的用戶,評(píng)論,支持主題,評(píng)級(jí),下載,收藏夾等?;旧希銜?huì)把所有現(xiàn)有的用戶冷落,基本上就是這個(gè)意思。

使用 SVN 倉庫

我應(yīng)該把文件放在哪里?

把你的代碼文件直接放在版本庫的 trunk/目錄下。每當(dāng)你發(fā)布一個(gè)新版本時(shí),通過拷貝當(dāng)前的中繼版本到標(biāo)簽/目錄的一個(gè)新的子目錄來標(biāo)記該版本。

確保你更新了trunk/readme.txt 以反映新的穩(wěn)定標(biāo)簽。

自述文件的圖像(例如屏幕截圖,插件標(biāo)題和插件圖標(biāo))屬于SVN簽出根目錄下的資產(chǎn)/目錄(您可能需要?jiǎng)?chuàng)建)。例如,這將與標(biāo)簽/和主干/相同。

我可以把文件放在 /trunk 的一個(gè)子目錄中嗎?

不,這將會(huì)使 zip 生成工具失效而導(dǎo)致不能生成在你的 zip 插件包。

如果的插件很復(fù)雜,有很多文件,你可以把它們組織成子目錄,但是 readme.txt 文件和根插件文件應(yīng)該直接放在 trunk/目錄。

我應(yīng)該如何命名我的標(biāo)簽(a.k.a.版本)

你的 Subversion 標(biāo)簽應(yīng)該看起來像版本號(hào)。具體來說,他們只應(yīng)該包含數(shù)字和句點(diǎn)。 2.8.4 是一個(gè)不錯(cuò)的標(biāo)簽,而 neato releaso 是一個(gè)糟糕的標(biāo)簽。有些死板,是嗎?是的,這樣有助于處理和消除歧義,我們建議你使用 語義化版本 來跟蹤插件發(fā)布。

我應(yīng)該在SVN中保留多少個(gè)標(biāo)簽?

盡可能少。在插件倉庫中,很少有人需要你的舊代碼。記住,插件倉庫的 SVN 不適合用來做版本控制。如果需要,你可以使用 Github 來控制版本。SVN 應(yīng)該有你當(dāng)前的版本,但是不需要保留以前版本的次版本。只為他們的最后一兩個(gè)比較好。

我可以在插件中包含外部 SVN 嗎?

不,抱歉。您可以把 SVN 外部添加到您的代碼倉庫,但他們不會(huì)被添加到可下載的 zip 文件中。

你的 WordPress.org 頁面

WordPress.org 插件目錄在哪里獲取數(shù)據(jù)?

根據(jù)您在插件文件和 readme.txt 文件中指定的信息以及 Subversion SVN 倉庫的信息。閱讀關(guān)于 readme.txt 如何工作的更多信息。

您還應(yīng)該充分利用主插件文件中的插件頭描述。這些信息將定義 WordPress.org 托管頁面以及WordPress管理顯示的用戶名。建議使用這些標(biāo)題來完整的記錄你的插件。

我可以指定WordPress.org插件目錄應(yīng)該使用哪個(gè)版本的插件嗎?

是的,通過在 trunk 目錄的 readme.txt 文件中指定 Stable Tag 字段指定。

我應(yīng)該在插件的 changelog 中寫點(diǎn)什么?

更新日志是對(duì)您的插件所做的全部或重要更改的日志或記錄,包括更改記錄,如錯(cuò)誤修復(fù),新功能等。如果您需要幫助格式化更新日志,我們建議保留更新日志,因?yàn)檫@是許多產(chǎn)品使用的格式。

我應(yīng)該在插件的 changelog 中保留多少版本?

始終在更新日志中保留主要版本,如,如果你當(dāng)前的版本是 3.9.1,那么你需要保留 3.9 的更新日志,更老版本的更新日志應(yīng)該被移除或者合并到 changelog.txt 中,這樣做會(huì)在保持插件自述文件精簡(jiǎn)的同時(shí),允許用戶訪問這些更新日志。最多在自述文件中保留最新版本和一個(gè)主要版本的更新日志。插t件的 changelog.text 不會(huì)在 WordPress 的插件目錄顯示,但沒關(guān)系,大多數(shù)用戶只需要了解最新信息。

如何在插件的描述頁面上包含視頻?

對(duì)于YouTube和Vimeo視頻,只需將視頻鏈接粘貼到您的說明中。請(qǐng)注意,視頻必須設(shè)置為允許嵌入。

對(duì)于由 WordPress.com VideoPress 服務(wù)托管的視頻,請(qǐng)使用 wpvideo 簡(jiǎn)碼。如果需要,簡(jiǎn)碼也可以用于 YouTube 和 Vimeo,就像在 WordPress 中使用一樣。

插件目錄需要多長(zhǎng)時(shí)間來反映我的更改

WordPress.org 每個(gè)幾分鐘就會(huì)更新一次,但是,根據(jù)更新隊(duì)列的大小,更改可能需要更長(zhǎng)時(shí)間,請(qǐng)至少提前 6 個(gè)小時(shí)聯(lián)系我們。

怎么為我的插件做一個(gè)炫酷的 Banner?

您可以通過將正確命名的文件上傳到 assets 文件夾來制作自己的插件標(biāo)題。

閱讀關(guān)于插件標(biāo)題的更多信息。

怎么為我的插件添加一的圖標(biāo)

您可以通過將正確命名的文件上傳到assets文件夾來制作自己的插件圖標(biāo)。

閱讀有關(guān)插件圖標(biāo)的更多信息。

支持論壇

如何獲得論壇帖子的更新通知?

轉(zhuǎn)到 https://wordpress.org/support/plugin/YOURPLUGIN 并向下滾動(dòng)到帖子列表的底部。在那里你會(huì)看到 RSS 鏈接的選項(xiàng),以及注冊(cè)電子郵件。

點(diǎn)擊電子郵件的訂閱鏈接,或者在您喜歡的閱讀器中使用RSS鏈接。

怎么獲得所有插件的通知?

如果您正在跟蹤 WordPress 論壇,https://wordpress.org/support/view/plugin-committer/YOURID 將列出您所提交插件的所有支持請(qǐng)求和評(píng)論。如果不是一個(gè)代碼提交者,只是被列為作者?使用 https://wordpress.org/support/view/plugin-contributor/YOURID

那些只是 RSS 鏈接。如果您需要訂閱電子郵件,請(qǐng)轉(zhuǎn)到 https://profiles.wordpress.org/YOURID/profile/notifications/并輸入要通過電子郵件發(fā)送的項(xiàng)目。

怎么為我的插件添加一個(gè)支持賬戶?

您可以將支持代表添加到您的插件。支持代表可以將論壇主題標(biāo)記為已解決或指定(與插件作者和貢獻(xiàn)者相同),但不具有提交插件代碼的權(quán)限。

用于管理插件支持代表的 UI 可以在管理提交者旁邊的插件頁面的高級(jí)視圖中找到。一旦有人被添加為支持代表,他們將在回復(fù)插件支持主題或評(píng)論時(shí)獲得插件支持者標(biāo)志。

關(guān)閉插件

我怎么關(guān)閉我的插件?

如果你要求刪除你的插件,通過請(qǐng)求后,你的插件將會(huì)被永久關(guān)閉,無法恢復(fù),除非你能提供合理的理由。

以具有提交訪問權(quán)限的帳戶郵件發(fā)送郵件到 [email protected] 并鏈接到您的插件。如果您的電子郵件不是具有該插件提交訪問權(quán)限的人員,系統(tǒng)會(huì)要求您使用其他電子郵件發(fā)送郵件。

我的插件關(guān)閉后發(fā)生了什么?

插件關(guān)閉后,插件的當(dāng)前 URL 會(huì)被重定向到插件的主目錄,并不會(huì)再被生成。所有人不再能通過網(wǎng)站下載插件,也不能通過 WordPress 后臺(tái)安裝。SVN 倉庫將保持可訪問的狀態(tài),允許其他人按照目錄的原則下載和分發(fā)代碼。

為什么我的插件會(huì)被關(guān)閉?

可能是因?yàn)椴寮`反了準(zhǔn)則,有行為或安全問題。在任何情況下,您都應(yīng)該收到來自 [email protected] 的電子郵件,來告訴你插件被刪除的原因。

為什么別人的插件被關(guān)閉了?

我們不公開為什么我們關(guān)閉插件給任何人,除了插件開發(fā)人員和WordPress核心開發(fā)人員。不要打擾問。這是出于安全原因。如果我們公布為什么我們關(guān)閉一個(gè)插件,每個(gè)人都會(huì)知道漏洞。如果我們選擇不說“這是為了安全”,那么每當(dāng)我們說 ‘我們不能告訴你’ 時(shí),世界就會(huì)知道這是為了安全。基本上,這會(huì)讓每個(gè)人都不那么安全。

我可以讓別人的插件被關(guān)閉嗎?

如果您在 [email protected] 的插件中報(bào)告安全問題或指南違規(guī),我們將審核報(bào)告并采取適當(dāng)?shù)拇胧4蠖鄶?shù)情況下,這涉及關(guān)閉一個(gè)插件。

有人發(fā)布了我的插件的副本,我該怎么辦?

通過電子郵件 [email protected] 提供一個(gè)被盜插件的鏈接,或者一個(gè)可以下載被盜版插件的鏈接。我們將比較這兩個(gè)文件,以及我們所有的代碼歷史記錄,以確定插件是否確實(shí)是盜竊,還是只是一個(gè)未經(jīng)認(rèn)可的分支。請(qǐng)記住,如果您授權(quán)您的插件為 GPLv2 或更高版本,那么只要版權(quán)保持完整并且您被記入信息,則完全可以分發(fā)您的作品。

我可以發(fā)送安全報(bào)告嗎?

通過電子郵件 [email protected],并且清楚簡(jiǎn)潔地描述問題。確保解釋你是如何驗(yàn)證這是一個(gè)漏洞的(鏈接到到像 secunia.com 這樣的網(wǎng)站上的插件列表是完美的)。如果您提供了報(bào)告鏈接,請(qǐng)不要?jiǎng)h除它!我們會(huì)直接把它傳遞給插件的開發(fā)者。

發(fā)現(xiàn)了一個(gè)插件的錯(cuò)誤后,我可以得到賞金嗎?

我們與任何錯(cuò)誤獎(jiǎng)勵(lì)計(jì)劃沒有任何關(guān)系,所以我們不會(huì)將您的報(bào)告等提交給他們。我們工作的唯一一個(gè)是 hackerone.com/automattic,這是與 Automattic 屬性相關(guān)的錯(cuò)誤。其他的一切都是自己的,不要要求我們提交東西。

你們是否提供幫助或 CVE?

不,我們目前無法提供幫助。

我的插件被關(guān)閉了,我可以重新打開嗎?

也許可以。如果我們出于安全原因而關(guān)閉了你的插件,解決問題后,回復(fù)電子郵件,大多數(shù)情況下我們會(huì)重新打開插件。如果插件被關(guān)閉使用違反了準(zhǔn)則,取決于違規(guī)的嚴(yán)重性和性質(zhì)。例如,重復(fù)違規(guī)者相對(duì)于第一次違規(guī)者來說,不太可能重新打開插件。

插件所有者

我怎么讓其他人訪問我的插件?

如果你想添加用戶作為提交者,這是讓他們?cè)L問更新代碼,你可以打開 https://wordpress.org/plugins/YOURPLUGIN/advanced 頁面,并添加他們的用戶名作為提交者。如果您向把它們顯示為作者,需要將其用戶名添加到 readme.txt 文件中。

我怎么從我的插件中移除其他人的訪問權(quán)限?

任何有提交權(quán)限的人都可以這樣做。轉(zhuǎn)到 https://wordpress.org/plugins/YOURPLUGIN/advanced 將鼠標(biāo)懸停在其 ID 上,將會(huì)出現(xiàn)一個(gè)刪除鏈接,點(diǎn)擊即可。

我怎么接管一個(gè)已遺棄的插件?

我們會(huì)建議用戶棄用不再開發(fā)的插件。我們要求您先嘗試與原始開發(fā)者聯(lián)系,以便他們可以添加您作為插件提交者。在某些情況下,這是不可能的,這時(shí)候,你可以開始修復(fù)插件。確保它是符合編碼標(biāo)準(zhǔn)、安全的,并在版權(quán)信息里面包括自己。然后你就可以聯(lián)系我們采用你的插件了。

我們不保證你會(huì)得到任何人的插件。

提議購買我的插件的請(qǐng)求合法嗎?

許多開發(fā)人員收到未經(jīng)請(qǐng)求的電子郵件或優(yōu)惠購買他們的插件。我們發(fā)現(xiàn)其中絕大多數(shù)是欺詐性的,不建議你跟進(jìn)。雖然合法的報(bào)價(jià)確實(shí)來了,但是他們通常來自與插件相關(guān)的官方公司,或者來自一個(gè)完善的插件公司。不要相信那些以 “我們正在向WordPress社區(qū)伸出援手……” 或者 “我們正在尋求獲得現(xiàn)有的WordPress插件……” 開頭的郵件。這樣的購買往往通過從事一些低俗的手段(比如追蹤用戶或其他嚴(yán)重違反指南)來破壞插件(和原始開發(fā)者)的聲譽(yù)。

如果你選擇出售你的插件(或者把它交給其他人),請(qǐng)確保新的所有者了解存儲(chǔ)庫的所有準(zhǔn)則。如果他們違反我們的條款,該插件將被刪除,我們可能不會(huì)根據(jù)違規(guī)的程度退還。無論誰擁有提交插件的權(quán)利都應(yīng)該對(duì)用戶負(fù)責(zé)。垃圾郵件,插入追蹤數(shù)據(jù)和添加垃圾功能是破壞您的插件的最快方法。

我們主張只將您的插件給予您親自審核的人,并且相信他們會(huì)對(duì)你的代碼和用戶負(fù)責(zé)。

如果插件開發(fā)人員去世了會(huì)發(fā)生什么?

當(dāng)開發(fā)人員確定已經(jīng)去世時(shí),他們會(huì)從自己的插件中刪除,以防止不道德的獲取和傷害用戶。如果他們是唯一的開發(fā)者,那么插件可能會(huì)被關(guān)閉。所有的嘗試都是為了找到他們的朋友和同事,為他們提供一個(gè)機(jī)會(huì)來首先認(rèn)領(lǐng)代碼,如果沒人認(rèn)領(lǐng),插件將被關(guān)閉。

我們提供 WordPress主題和插件定制開發(fā)服務(wù)

本站長(zhǎng)期承接 WordPress主題、插件、基于 WooCommerce 的商店商城開發(fā)業(yè)務(wù)。 我們有 10 年WordPress開發(fā)經(jīng)驗(yàn),如果你想 用WordPress開發(fā)網(wǎng)站, 請(qǐng)聯(lián)系微信: iwillhappy1314,或郵箱: [email protected] 咨詢。

發(fā)表回復(fù)

您的郵箱地址不會(huì)被公開。 必填項(xiàng)已用 * 標(biāo)注

*