問題描述

我發現外掛或主題開發的最長部分是建立選項面板,至少在我的情況下。所以我喜歡知道你在做什麼。你是否使用現成的框架或類?如果是這樣的女巫呢?還是從頭寫下來?使用設定 API 或簡單選項?

謝謝。

最佳解決方案

好吧,發現一些:

  • JeffreyWay / WordPress-Theme-Options-Page – 開源類,該專案是在 github 上託管的,針對主題開發者,看起來不錯,沒有使用。 (連結死) 。
  • devinsays / Options-Framework – 開源框架該專案是在 github 上託管的主題開發人員,我後來得知,已經演變成具有很多功能的 Thematic-options 非常大型的專案。 (連結死)
  • helgatheviking / thematic-options-KIA – 開源框架該專案託管在 github 上,旨在幫助開發人員構建選項到他們的主題兒童主題,女巫被 Thematic-options 非常更新 (連結死)
  •  WordPress AdminPage Class – 一種商業解決方案,它的功能非常易於使用。
  •  OptionTree plugin 和用於建立選項面板的 IDE,許多功能和不斷更新的缺點是:它不容易整合到外掛或主題中,預設選項不是一個選項 (直到版本 1.1.1) 。

這是現在,但仍然在尋找你的經驗。

Update

經過很長時間的嘗試,我已經設法將選項樹與我的外掛整合,之後完成了,我不得不說,從未如此簡單的新增選項到我的外掛,永遠!所有這些都沒有程式碼,但使用它隨附的光滑的 UI 。所以到目前為止,我最喜歡的是一個小例外,它是一個外掛,而不是一個框架女巫使整合部分變得更加困難。

Update2

如果您閱讀第一次更新,那麼這將是 180 度轉彎,我已經停止使用 Option-Tree 女巫很難整合在第一位,但主要是因為它為您新增到每個選項的選項資料庫表中建立一個選項行所以我的外掛已經在資料庫中建立了 287 行,這有很多原因,但是主要的是很難在外掛停用時刪除所有這些行為,並且必須為每個人建立一個 get-option 呼叫,這樣做很多資料庫呼叫。由於這一點回落,我發現,這裡列出的大多數框架都以與每個選項相同的方式工作,獲得自己的行。所以我修改了 AdminPage 類,以儲存每個管理頁面中所有選項的陣列選項,現在我的外掛只在資料庫中生成 7 行,最多隻需要呼叫 get_option 函式 7 次,從而節省大量的資料庫呼叫,我會聯絡 AdminPage Class 的建立者,並要求他考慮這個修改,但是除此之外,它很容易使用,甚至更容易管理。

最後更新

如果任何人仍然在這裡保持分數,那麼我最終編碼我自己的

 option panel class

 其主要特點是:

  • 開源,GPL 許可。
  • 適用於外掛以及主題
  • OOP 程式碼一路 (這意味著易於擴充套件和修改) 。
  • 匯入匯出選項。
  • 所有選項在資料庫中儲存為單個行。
    • 輸入
    • 文字區
    • 單選按鈕
    • 核取方塊
    • 選擇下拉選單
    • 上傳檔案
    • 圖片上傳
    • 所見即所得編輯
    • 日期選擇器
    • 時間選擇器
    • 選色器
    • 分類清單 Dropdwon 或核取方塊
    • 釋出列表下拉選單或核取方塊
    • WordPress 使用者角色下拉選單或核取方塊
    • 語法突出顯示的程式碼編輯器 (PHP,CSS,HTML,JAVASCRIPT)
    • 排版欄位 (大小,顏色,面,家庭欄位)
    • 可排序拖放下降
    • 中繼器領域
    • Plupload 欄位
    • 鉤子和過濾器在整個地方,所以你可以自定義只是你想要的方式

次佳解決方案

  •  scbFramework 有相關的類,我用它一個外掛,它節省了大量的時間;
  •  WPAlchemy MetaBox 我看到很多這方面的提及,還沒有使用它呢?
  •  Hybrid Core 具有一些頁面/元變體/設定的功能,但是對於使用它來說可能是沒有意義的。

第三種解決方案

UpThemes 團隊剛剛釋出了他們的 options framework 作為每個人的開源。值得一看。

第四種方案

我一直在使用這個,我喜歡它如何輸出一個 iframe 預覽,但是我開始寫自己的,因為我弄清楚這個東西。

 http://clark-technet.com/2010/01/wordpress-theme-options-framework-ver-2

參考文獻

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