問題描述

我發現插件或主題開發的最長部分是創建選項面板,至少在我的情況下。所以我喜歡知道你在做什麼。你是否使用現成的框架或類?如果是這樣的女巫呢?還是從頭寫下來?使用設置 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。