問題描述
是 drop-in 外掛 – 當您直接在主題中複製外掛 – 設計產品時。還是做了這個練習”organically” 。
最佳解決方案
這真的取決於開發人員以及他們如何訓練使用 WordPress 。一般來說,我看到了兩個思路:
Organic
一些開發人員在外掛中發現一個他們覺得很酷的功能。不幸的是,他們不太確定如何實現它自己,但真的希望將功能包括在他們的主題。他們不會重新發明,而是將主題中包含一個 drop-in 外掛。
在大多數情況下 (不是全部,但我看過的大部分),這是開發人員背景下缺乏經驗的直接後果。要麼他們不瞭解足夠的 PHP 來自己建立一個新的系統,要麼是太懶了,要嘗試一下。
產品設計
其他開發商也將嘗試迎合不瞭解更好的客戶。他們的主題是圍繞著一個大型的 Flash-based 旋轉橫幅外掛來構建的。該外掛是相當 well-known,但他們不知道/當原作者將更新系統的程式碼,他們的主題將不會理解。更改 DB 模式,更改引數,新掛鉤… 所有這些都可能會破壞不會相應更新的主題。
客戶點選”update” 不會冒險,而不必知道它會做什麼 (或者一旦主題完成,就將風險繫結到一個客戶端的無限更新的字串),他們會將當前工作版本和 hard-code 的快照主題。這樣他們就可以肯定地知道它將始終與他們的主題一起工作。
像 hard-coding 的外部引用類似於 Svn,然後停用版本控制,因此您無法更新它:-)
為什麼沒關係
無論這種做法是有機還是故意的,這仍然是一個非常糟糕的主意!
無論主題是否更新,外掛是否更新?WordPress 將最終更新。把你的客戶限制在一個單一的版本是坦率地說,侮辱和壞的業務。而不是 hard-coding 一個 drop-in 外掛,只是讓您的主題播放很好提供的鉤子,並鼓勵使用者安裝其他系統。如果您使用 WordPress 鉤子 (動作和過濾器) 而不是直接呼叫函式,那麼在穩定性方面您並不冒險。如果掛鉤發生更改,則該功能將被停用,就像外掛未安裝一樣。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。