問題描述

我正在建立一個我打算在某個時候出售的 wordpress 主題。

現在,我發現一些 wordpress.org 外掛對於我想做的事情來說是非常棒的。他們已經擁有了我旨在實現的大部分功能,所以我想直接使用它們 (他們是 GPL 在我想象的) 。

我可能需要調整東西,但是我在想。是否有任何 universal-like 方式在我的主題中包含 wordpress 外掛,而不是在單獨的外掛資料夾?

這將是理想的,因為我真的不希望客戶必須複製到不同的資料夾。乍一看的外掛,似乎是不可能的,但我想它從來沒有傷害過問:)

最佳解決方案

讓我做一個建議:不要把外掛與你的主題捆綁在一起!

乍一看,是的,這是一個非常簡單的方法來新增預設功能與您的主題,但有一些原因不包括這樣的外掛:

  1. 更新:如果該外掛已經從 WordPress.org 免費獲得,那麼自動更新外掛。原始作者可以新增功能,修復錯誤並快速部署。您的客戶和客戶隨後從 on-going 開發中受益。但是,如果你打算將它們打包成你的主題,那麼在這個時間點你基本上就是凍結了程式碼,任何進一步的更新,bug 修復等等都是來自你的。這意味著,只要隨附的外掛更新,您就需要不斷髮布主題更新。

  2. 更新:當 WordPress 更新時,一些外掛將中斷。這是因為原始作者沒有花時間去除已棄用的功能或使用新版本的 WP 進行測試。你真的想承諾維護你的主題+別人的程式碼嗎?

  3. 互操作性:正如偉大的 mfields 曾經說過的,「如果你正在建一個浴室,你改變桌布,廁所也不應該消失。使用者應該可以隨時更換主題,而不會丟失他們的內容,他們的自定義資料或他們在他們的網站上附加的功能。記住,主題是為了演示,外掛是為功能。

已經有很多其他人談過 about this in the past

更好的方法是讓您的主題檢查特定的外掛,並提示使用者安裝,如果它們丟失。

次佳解決方案

這個課程是根據你的問題和想法構建的。它解決了這個問題,允許主題作者輕鬆地從 repo 包含 pre-packaged 外掛或外掛。

https://github.com/thomasgriffin/TGM-Plugin-Activation

第三種解決方案

我強烈地認為,如果您打算在某個時候出售您不應該包含/使用 GPL 外掛,只有自己的!

現在之後,只是簡單地包含外掛的主要檔案,你的主題的 functions.php 和編輯所有的路徑

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。