设置
概述
这设置API,添加WordPress 2.7,允许将包含设置表单的管理页面进行半自动管理。它使您可以定义设置页面,这些页面中的各节和各个字段。
可以与其中的部分和字段一起注册新设置页面。现有的设置页面也可以通过注册新的设置部分或其中的字段来添加。
组织注册和验证领域仍然需要开发人员使用设置API的努力,但避免了许多基础选项管理的复杂调试。
注意:使用设置API时,表单帖子为wp-admin/options.php
提供相当严格的功能检查。用户将需要manage_options
能力(在多站点中必须是超级管理员)才能提交表格。
这些功能在wp-admin/incluct/plugin.php
和wp-admin/include/template.php
功能参考
设置寄存器/未注册:
添加字段/部分:
选项表格渲染:
错误:
添加设置字段
您可以添加新的设置字段(基本上,在wp_options
数据库表,但使用此功能完全管理为您的现有WordPress页面。您的回调功能只需要输出适当的HTML输入并用旧值填充,保存将在场景后面完成。您可以使用现有页面创建自己的部分add_settings_section()
如下所述。
笔记:您必须注册您使用的任何选项add_settings_field()
否则它们不会自动保存和更新。有关详细信息和示例,请参见下文。
add_settings_field($ id,$ title,$ callback,$ page,$ section ='默认值',$ args = array())
$ id
- 用于在标签的“ ID”属性中使用的字符串。$标题
- 该领域的标题。$回调
- 作为较大形式的一部分,用所需输入填充字段的功能。输入的名称和ID应与给出的$ ID匹配此功能。该函数应呼应其输出。$页
- 可以在其上显示字段的设置页面(一般,阅读,写作等)。$部分
- 在其中显示框的“设置”页面(默认或使用add_settings_section添加的部分),查看源中的页面以查看现有的内容。)$ args
- 额外的论点传递到回调功能
添加设置部分
设置部分是您在WordPress设置页面上看到的设置组,并带有共享标题。在您的插件中,您可以在现有设置页面上添加新部分,而不是创建一个全新的页面。这使您的插件更简单地维护和创建更少的新页面供用户学习。您只需告诉他们在相关现有页面上更改您的设置即可。
add_settings_section($ id,$ title,$ callback,$ page);
$ id
- 用于在标签的“ ID”属性中使用的字符串。$标题
- 本节的标题。$回调
- 填充所需内容的函数。该函数应呼应其输出。$页
- 可以显示该部分的设置页面(一般,阅读,写作,媒体等)
注册设置
register_setting($ option_group,$ option_name,$ args);
unregister_setting($ option_group,$ option_name);
笔记:register_setting()
以及上述add_settings _*()
函数都应从一个admin_init
动作钩回调功能。请参阅下面的“示例”部分。
选项表格渲染
当使用API将设置添加到现有选项页面时,您无需担心表单本身,因为已经为页面定义了该表单。当您从头开始定义新页面时,您需要输出一个最小的形式结构,该结构包含一些标签,然后输出页面的实际部分和设置。
为了显示隐藏的字段并处理您选项表单的安全性,设置API提供了settings_fields()功能。settings_fields($ option_group);
$ option_group
((细绳)(必需的):
设置组名称。这必须与使用的组名称匹配register_setting(),这是将要出现表单的页面slug名称。默认:没有任何
为了显示分配给页面和包含的设置的部分,设置API提供了do_settings_sections()功能。do_settings_sections($ page);
$页
((细绳)(必需的):
您要输出的设置部分的页面名称。这应该匹配使用的页面名称add_settings_section()。默认:没有任何
这do_settings_fields()提供功能以输出分配给特定页面和部分的字段。您不应该直接调用此功能,而是使用do_settings_sections()
输出部分内容以及关联的字段。
您的选项表格还需要提交按钮。您可以使用submit_button()功能来执行此操作。
最后,您需要输出html <形式>标签定义options.php和邮政方法的动作目的地的标签。这是一个示例选项表单代码,以生成添加到页面上的所有部分和字段,谁的slug名称为我的页面
:
例子
在其中添加一个带有新字段的设置部分
<?php / ** *在Admin_init * / function wporg_settings_api_init(){//将部分添加到读取设置中,因此我们可以将我们的//字段添加到IT ADD_SET_SETTINGS_SECTION('wporg_setting_section_section_section'',','读取','wporg_setting_section_callback_function','reading')中的设置部分;//添加带有用于我们的新//设置的名称和功能的字段,将其放入我们的新部分Add_settings_field('wporg_setting_name','example设置名称','wporg_setting_callback_function','wporg_setting_section_section_section_section_section_section_callback_function','wporg_setting_callback_function'//注册我们的设置,以便为我们完成$ _post处理,//我们的回调功能只需回声 register_setting('reading','wporg_setting_name');} // wporg_settings_api_init()add_action('admin_init','wporg_settings_api_init');/** *设置部分回调函数 * *如果我们添加了一个新部分,则需要此功能。此函数 *将在我们的部分开始时运行 */函数wporg_setting_section_callback_function(){echo'我们设置的介绍文本 p>';} / * *我们的示例设置的回调函数 * *创建一个checkbox true /false选项。其他类型肯定是可能的 */ function wporg_setting_callback_function(){echo' '; }
所有这些代码应进行的图形表示

外部参考
- WordPress设置API由Konstantin Kovshenin,2012年10月23日
- 将设置API纳入WordPress主题奇普·贝内特(Chip Bennett),2011年2月
- 设置API解释了大卫·格威尔(David Gwyer)
- WordPress设置API教程由Otto
- 处理插件选项与register_setting()由Ozh
- WordPress设置API的介绍鲍格努(Bobgneu)
- 使用设置API:第1部分,,,,第2部分经过莎拉·诺伯(Sarah Neuber)
- 使用WordPress的基于类的设置弗朗西斯·亚科尼洛(Francis Yaconiello)
- 在单个设置屏幕上添加多个部分由Mathieu decaffmeyer
- 在单个设置屏幕上添加多个表单由Mathieu decaffmeyer
- WordPress设置API的完整指南汤姆·麦克法林(Tom McFarlin),2012年1月31日
- WordPress设置API备忘单肯尼斯·奥德尔(Kenneth Odle),2015年7月16日