描述
添加“选项/值”对到WordPress选项数据表中的安全方法,如果选项已存在,此函数将不会做任何操作。选项添加后,可以通过get_option()
函数获取选项值,通过update_opthion()
更新值,通过delete_option()
删除值。
我们不需要序列化选项值,如果选项值需要序列化,该函数在插入之前会帮我们序列化。我们可以创建一个没有值的选项,然后再添加选项值。
在添加选项前,该函数会首先调用 add_option 检查该选项是否已被添加,如果该选项已存在,函数将返回flase,然后该函数将检查选项名称是否为被保护的名称,如果在alloptions 或 notoptions 被保护的名称,函数将停止执行被返回错误信息。如果选项名称在数据表中不存在,并且没有被保护,这个选项将被添加到数据库中。
注意: add_option 使用 get_option 确定选项名称是否已经存在,,因为 get_option 默认返回 false, 如果在数据库中设置了一个选项的值为 false (如:update_option($option_name, false)), 然后调用 add_option 将改变这个值,因为对于 add_option 函数来说,这个选项看起来是不存在的。
和 update_option() 比较
如果你想确认指定选项是否已经添加,使用 update_option(),该函数将绕过选项名称检查直接更新选项来判断期望的值是否存在。
注意:如果你使用 update_option() 添加选项,你将不能指定 autoload=’no’。如果你需要指定 autoload=’no’,而你不能确定选项是否已存在, 在调用add_option()之前,先调用delete_option()删除选项。
使用方法
<?php add_option( $option, $value, $deprecated, $autoload ); ?>
参数
- $option
- (
string) (
必需) :要添加的选项的名称,不能超过64个字符,使用下划线分隔单词,不要使用大写字母,这将存放在数据库中。- 默认:
None
- 默认:
- $value
- (
mixed) (
可选) :此选项的值,最多为 2^32 字节- 默认:
空字符串
- 默认:
- $deprecated
- (
string) (
可选) :在WordPress 3.2中已弃用- 默认:
空字符串
- 默认:
- $autoload
- (
string) (
可选)) :是否可以被 wp_load_alloptions() 自动加载(在每个页面加载时把所有选项放在一个对象缓存中) ( 可用的值:
yes 或
no.- 默认: yes
返回值
- (
boolean) - 如果添加成功,返回True,添加失败返回False
使用示例
<?php add_option( 'myhack_extraction_length', '255', '', 'yes' ); ?>