最近鸿硕使用customize API的时候,获取后台设置的数据,用到了get_option()这个函数,这种场景下,是在$wp_customize->add_setting( 'test', array('type' => 'option') )时,获取后台数据需要使用get_option()这个函数。
应该是在设置customize API的过程中已经隐含应用了add_option(),所以才会使用get_option()来获取数据了。
这里来说一下和get_option()相关的几个函数,包括add_option(),update_option(),delete_option()几个函数
这几个函数位于wp-includes/option.php文件中,产生的数据保存在wp_options表中,这几个函数也起到了增删改查的作用,也方便自定义字段。
几个函数的用法,可参考如下网文:
(1)add_option :
语法:add_option( string $option, mixed $value = '', string $deprecated = '', string|bool $autoload = 'yes' )
参数详解:
$option 字段名称
$value 字段
$deprecated 这是几个WordPress已被弃用的参数版本之前,不再需要。 传递给它的任何值都可以; 只要确保不要忽略它。
$autoload 当前选项是否需要被wp_load_alloptions函数自动加载(加载每个页面时将选项放在对象缓存中)?有效值:yes或no。默认值:yes
定义:这是一种向选项数据库表中添加有名称的选项/值对的安全方法。如果所需选项已存在,add_option()不添加内容。
选项被保存后,可通过get_option()来访问选项,通过update_option()来修改选项,还可以通过delete_option()删除该选项
(2)update_option :
语法: update_option( string $option, mixed $value, string|bool $autoload = null )
定义:修改option字段对应的内容。该函数可取代add_option,但不及add_option灵活。
update_option会检查并判断选项是否已经存在。如果不存在,用add_option ('option_name', 'option_value')添加选项。
除非用户需要指定add_option的选项参数,否则update_option()是一个可同时添加和更新选项的两用函数。
(3)get_option :
语法:get_option( string $option, mixed $default = false )
$option : option字段名称
$default : 在没有获取到值的时候,返回$default值
(4)delete_option :
语法:delete_option( string $option )
鸿硕做了个小测试,直接在主题的functions.php中add_option(),然后模板中写代码调用即可
然后模板中使用get_option('gou5')调用即可在前台正常显示。