問題描述

我正在創建一個我打算在某個時候出售的 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。