问题描述

我发现插件或主题开发的最长部分是创建选项面板,至少在我的情况下。所以我喜欢知道你在做什么。你是否使用现成的框架或类?如果是这样的女巫呢?还是从头写下来?使用设置 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。