3.上傳你開發好的外掛zip檔
※外掛除了可運行的程式還會要求在根目錄要有readme.txt※
如果不清楚格式可到 https://generatewp.com/plugin-readme/ 自動生成
若要在描述的部分新增可點選的網址請按照此格式,不然會被當成純文字處理:
[要顯示的名稱](網址)
example: [Google](https://www.google.com/)
提交之後就等待wordpress他們的人員幫你審查,審查完後他們會寄信跟你說有那些問題,修改完後你再以github或是google雲端的方式告知他們程式碼已修正就好,反正就是能讓他們載的到你的程式就OK,接下來就是修正->審核->修正->審核的過程
以下講講我自己外掛被審出的需要修改的地方,有些真的是沒碰過不會發現有問題,但我覺的wordpress方也蠻用心地都有明確指出哪邊有哪個類型的錯誤,也有說明錯誤在哪支程式哪一行
目錄
插件名稱問題
大意是說你一開始取的外掛名稱不符合規範,他們會給你一個他們建議的名稱,照著改就好,記得要改readme.txt跟你外掛主代碼的外掛描述(如下圖)
插件包含多餘資料夾
開發的時候如果我們有引用第三方套件,常常都會將整包檔案放進程式裡,但這接第三方套件裡常常都包含如demo,example,doc等外掛並不需要使用到的部分,wordpress會要求您將這些非必要的部分移除外掛
插件呼叫遠程文件
開發外掛的時候為求方便有時候會直接call CDN , wordpress會要求可以下載到本地端做呼叫的檔案盡量下載到本地端,真的沒辦法本地呼叫的(如:googlemap相關的套件),可以允許遠端呼叫
插件必須驗證數據
我猜是因為安全性的考量,wordpress會要求您的後端程式碼在接收前端的數據時要做過驗證,這部分一開始我搞不太懂,想說我有對數據做檢查他怎麼還是回信說有問題
https://developer.wordpress.org/plugins/security/securing-input/
wordpress有提供蠻多現成的函式來讓開發者做數據驗證及清理,如果你接收的資料想要自定義(簡單來講不是像email這種有標準格式的),使用GET或POST接收前端數據的時候建議就使用sanitize_text_field這個函式,他主要是可以過濾使用者惡意插入的html tag
有興趣的可以自行搜尋: XSS攻擊
插件中含有通用的函式名稱
簡單來說就是你外掛中的function取的名字太通用了不夠有區別性,因wordpress上會同時掛載多個外掛,所以官方要確保你function的名字獨特才不會跟別的外掛相互影響
全部修正完之後官方就會給你一個svn網址讓你更新跟管理你的外掛,要進行第一次上傳之後你的外掛才會變為公開,這點請注意,至於如何使用svn就留待下一篇詳解吧!