Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

WordPress 外掛提交步驟說明

2020 年 10 月,因應鐵人賽結束,我將實作的內容整理成外掛,並向 WordPress.org 提交外掛上架的申請。這篇文章將分享我申請外掛的經過以及後續需要的行動。

提交外掛申請

當外掛製作完畢後,先壓縮成一份 .zip 檔,並上傳到 Add your Plugin 提供的表單上。在上傳前,建議先檢視一下〈外掛提交指南〉,因為我在提交的過程中,曾因為原外掛名稱 (Contact Form 7 Taiwan Address Selector Extension) 違反商標規範,而被拒絕過。

根據提交指南的規範,如果非屬品牌員工所提交的外掛,那麼商標不能置於開頭,因而改為後來的 Taiwan Address Selector Extension for Contact Form 7。

申請完後,會立刻收到來自系統的信件。

WordPress 提交外掛後的回覆

由於系統預設將外掛的網址代稱設為 taiwan-address-selector-extension-for-contact-form-7,並不是個好記的代稱,因此我在收到信件時,需要立刻回覆,請審核團隊將代稱改為現在的 wpcf7-twaddress。這邊要再提醒一下,WordPress 並不保證一定可以使用指定的代稱。

接著根據一般流程,會需要等待 5-10 個工作天。

但,我等了 3 個月。上週決定確認一下進度,審核小組表示:

Looks like it got lost in the backlog. We’ve moved it to the front. Sorry, not sure how that happened…

收到這封審核團隊的致歉信後,7 個小時就審核通過了 (笑)。

使用 SVN (Subversion) 上架外掛

外掛審核通過後才是考驗的開始。

因為 WordPress 的外掛是透過 SVN 的方式,而不是 Git 來進行版本管控,所以需要稍微再學習一些 SVN 的指令。好在前人種樹、後人乘涼,上網搜尋了阿竣的文章,按照步驟執行後便能將外掛上線了。

這邊筆記一下我自己額外的步驟:

在 macOS 安裝 Subversion

因為我使用 Homebrew 作為套件管理程式,因此只要執行下列指令就能在電腦上安裝 Subversion。

brew install subversion

簽出 (checkout) 存放庫的檔案

在開始將外掛打包上傳前,必須先將整個 Subversion 的樹狀目錄 (tree) 簽出至你的本地端。在這個步驟中,由於不需驗證身份,你可以自由簽出任何外掛的樹狀目錄。類似於 Git 中的 git clone 指令。

svn co https://plugins.svn.wordpress.org/your-plugin-name my-local-dir

新增 (add) 版本管控檔案

在簽出檔案後,你需要按照指示將外掛檔案存入 /trunk 路徑中,並同時複製一份副本放在 /tags/版本號中。接著,執行以下指令 (如果你有存放其他資產於 /assets 路徑,也需要一併新增):

cd my-local-dir
svn add trunk/* tags/*

這個步驟類似 Git 當中的 git add 指令。不同的是,svn add 針對相同檔案與路徑,只需要執行一次就好,接著便會納入版本管控中;git add 則是每個 Git 認可 (Git commit) 都需要執行。

提交變更紀錄 (commit)

在新增完版本控制的檔案後,接著就要將提交變更紀錄 (commit)。在 SVN 中,這個步驟等同於執行了 git commit -m 'message'git push 的指令。

svn ci -m 'Adding first version of my plugin'

不同於簽出樹狀目錄,這個步驟需要驗證開發人員身份。由於 macOS 預設將我的本機使用者名稱作為登入帳號,因此無法通過驗證。上網搜尋了一下,可以透過 --username 這個選項來更換使用者名稱

svn ci -m --username no249a002 'Adding first version of my plugin'

接著需要輸入開發人員的 WordPress.org 密碼。輸入完畢後便大功告成了!回到存放庫,就會發現檔案都上傳了。

協同開發時保持在最新版本

在 SVN 中有類似 Git git pull 的功能。

svn up

Eric Chuang
Eric Chuang

正職是廣告行銷人員,因為 Google Tag Manager 的關係開始踏入網站製作的領域,進一步把 WordPress 當成 PHP + HTML + CSS + JavaScript 的學習教材。此外,因為工作的關係,曾經用 Automattic 的 Underscores (_s) 替客戶與公司官網進行全客製化佈景主題開發。

2 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料