设置API

WordPress 2.7中添加的设置API(Settings API)允许半自动管理包含设置表单的管理页面。它允许您定义设置页面、这些页面中的设置栏(section)和设置栏中的字段。

可以注册新的设置页面以及其中的设置栏和字段。也可以通过在现有设置页面中注册新的设置栏或字段来添加现有设置页面。

组织字段的注册和验证仍然需要开发人员付出一些努力,但可以避免对底层选项管理进行许多复杂的调试。

Alert:当使用设置API时,表单POST到wp-admin/options.php,它提供了相当严格的能力检查。用户需要manage_options能力(在多站点中必须是超级管理员)才能提交表单。

 

为什么使用设置API?

开发人员可以忽略此API并编写自己的设置页面。这就引出了一个问题,这个API能带来了什么好处?下面是一些好处的简要介绍。

 

视觉一致性

使用API生成界面元素可以保证设置页面看起来与其他管理内容一样。您的界面将遵循相同的样式指南,看起来像是属于它的,多亏了WordPress设计师的天才团队,它看起来会很棒!

 

稳健性(面向未来!)

由于API是WordPress核心的一部分,任何更新都会自动考虑插件的设置页面。如果您在不使用设置API的情况下创建自己的界面,WordPress核心更新更有可能破坏您的自定义设置。还有更广泛的受众测试和维护API代码,因此它将趋于更稳定。

 

更少的工作!

当然,最直接的好处是WordPress API在后台为您做了很多工作。下面是设置API除了应用一个看起来很棒的集成设计之外所做的一些事情的示例。

  • 处理表单提交 – 让WordPress处理检索和存储您的$_POST提交。
  • 包括安全措施 – 您可以免费获得额外的安全措施,如nonce等。
  • 清理数据 – 您可以访问其他WordPress用于确保字符串安全使用的相同方法。

 

函数参考

设置 注册/注销 添加 字段/设置栏
register_setting()
unregister_setting()
add_settings_section()
add_settings_field()
选项表单渲染 出错
settings_fields()
do_settings_sections()
do_settings_fields()
add_settings_error()
get_settings_errors()
settings_errors()