問題描述
有一點對我來說並不清楚 (特別是因為我沒有向儲存庫提交外掛) 是如何生成外掛的獨特”ID”(slug)(即 this list) 。
-
作者是 SVN 提交的一個選擇,還是由主持人呢?
-
是否是消毒的外掛名稱 (標題)?
-
是
plugin_basename嗎? -
是主要的外掛檔案 (沒有目錄名稱)?
-
還有什麼?
我很好奇一個外掛的哪個屬性連結到它的 SVN 對應 (如果有的話) 外掛更新 API?
我問,部分是出於我的性質想知道,而且如何確保 (在某種程度上),我自己的 one-off 外掛不會與 SVN 中的一個衝突。
例如,如果只有 3),我可以使用一個非常獨特的目錄名稱,但是保持我的外掛名稱 (標題) 很短。
注:雖然”standard” 檔案命名約定似乎是 [my-plugin-name]/[my-plugin-name].php,我已經喜歡 [my-plugin-name]/plugin.php 。
它給我所有的外掛一些一致性,很明顯,它是”bootloader”(主) 檔案,從一個小的立場,我討厭重複的目錄名稱。
這是另一個原因,我問這個問題,因為 4) 會擰我。另外我也想聽聽你對這個”standard” 的想法:)
最佳解決方案
提交外掛時,slug 將成為已提交的消毒外掛名稱。外掛的”Name” 可以在此之後改變,但是這個外掛永遠保持不變。
當 WordPress 需要檢查外掛更新時,它會獲取外掛的所有標題資訊和外掛所在的目錄名稱,並將其傳送到 WordPress.org 。
目前使用三個因素來嘗試與目錄中的外掛進行匹配。請注意,我說”currently”,因為我們嘗試改進匹配演演算法時,經常會發生這種變化。
-
外掛目錄名通常是外掛的”slug” 。至少,如果你從目錄安裝它開始。所以我們檢查一個帶有該目錄名稱的小外掛。這不是一個很好的指標,但它有幫助。
-
搜尋外掛頭中的”Name” 也是如此,因為 Name 在外掛目錄中必須是唯一的。如果沒有匹配的確切名稱,那麼名稱將被清理,以產生一個 s lug 聲,並且我們也搜尋該 s 子,以防萬一。這並不總是奏效
-
檢查標題中的”Plugin URI” 是否匹配。由於我們知道目錄中所有外掛的值,所以每個外掛都可以認為是合理的。因此,外掛作者建議您放置一個指向其控制的域的外掛 URI,以及外掛所特有的 URL 。
然後對所有這三個因素進行加權,並返回最高結果。用於三個中的每一個的權重反映了資料的準確性的置信度。例如,Name 的權重高於 plugin-directory-as-slug,因為大多數作者不經常更改外掛名稱,如果使用者手動或者某些東西安裝,plugin-directory 實際上可以是任何東西。
比賽越接近這三個專案,就越有可能與外掛相匹配。但是,對於要返回的任何結果,必須找到至少一個精確的匹配項。
對於自定義 one-off 外掛,我傾向於在外掛名稱本身中使用站點名稱。這也有助於我與組織。所以我的 one-off 外掛名稱可能是 「ottopress.com – 修復任何問題」 。目錄中的任何外掛都不適合與您的域匹配。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。