函数描述
添加“选项/值”对到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 函数来说,这个选项看起来是不存在的。
使用方法
<?php add_option( $option, $value, $deprecated, $autoload ); ?>
参数
参数 | 数据类型 | 是否必需 | 描述 | 默认值 |
---|---|---|---|---|
$option | 字符串 | 是 | 需要获取的选项名称,下划线分隔,只能使用小写字母 | |
$value | 任意 | 否 | 如果没有从获取到值时,使用此参数作为默认值 | |
$deprecated | 字符串 | 否 | 在WordPress 3.2中已弃用 默认: 空字符串 | |
$autoload | 字符串 | 否 | 是否可以被 wp_load_alloptions() 自动加载(在每个页面加载时把所有选项放在一个对象缓存中) | yes|no |
返回值
布尔值,如果添加成功,返回 True,添加失败返回 False
使用示例
<?php add_option( 'myhack_extraction_length', '255', '', 'yes' ); ?>
和 update_option() 比较
如果你想确认指定选项是否已经添加,使用 update_option(),该函数将绕过选项名称检查直接更新选项来判断期望的值是否存在。
注意:如果你使用 update_option() 添加选项,你将不能指定 autoload=’no’。如果你需要指定 autoload=’no’,而你不能确定选项是否已存在, 在调用add_option()之前,先调用delete_option()删除选项。