update option——更新设置选项

描述

使用函数 update_option() 更新一个“名称/值”对到数据表中, $option (选项名称) 在使用 SQL INSERT 语句插入数据库之前将被$wpdb->prepare 转义,而选项值不会被转义,插入数据库之前,选项值应该被净化。

此函数可以用来代替 add_option 使用,但是功能上没有那么灵活,update_option 将检查选项是否已经存在,如果不存在,该函数将会使用 add_option('option_name', 'option_value') ,添加,除非你需要指定add_option()的参数,update_option() 可以同时用来添加和更新选项。

使用方法

<?php update_option( $option, $new_value, $autoload ); ?>

参数

$option
(
string) (
必需) 需要更新的选项名称,不能超过64个字符,默认选项值可以在选项参考中查询。

默认:
None
$newvalue
(
mixed) (
必需) 选项的新值,该值的类型可以是整数,字符串数组或对象。

默认:
None
$autoload
(
mixed) (
可选) 是否在WordPress初始化时加载选项,对于现有的选项,如果 `$value` 也改变了, `$autoload`只能使用 `update_option()` 修改,接受’yes’ 或 true为启用,’no’ 或 false为禁用,对于尚不存在的选项,默认的值为’yes’。

默认: null

返回值

(
boolean)
如果选项值已改变,返回True,如果为改变或者更新失败,返回False

使用示例

更新WordPress默认选项

设置默认评论状态为 ‘closed’:

update_option( 'default_comment_status', 'closed' );

通常,这个选项通过“设置>讨论”面板中设置,在选项参考中查看WordPress核心使用的全部选项列表。

更新自定义选项

我么也可以添加自定义选项,需要更新选项 'myhack_extraction_length' 的值为255,我们可以这样做:

update_option( 'myhack_extraction_length', 255 );

如果选项不存在,上面的代码将自动添加选项。如果我们不需要此选项自动加载,我们必须通过 add_option() 自行添加,在这个例子中,如果选项已存在,更新选项,如果不存在,添加选项并设置 $autoload 为 “no”。

<?php
$option_name = 'myhack_extraction_length';
$new_value = '255';

if ( get_option( $option_name ) !== false ) {
    // 选项已存在,直接更新
    update_option( $option_name, $new_value );
} else {
    // 选项尚不存在,添加选项,并设置 $autoload 为 'no'
    $deprecated = null;
    $autoload = 'no';
    add_option( $option_name, $new_value, $deprecated, $autoload );
}
?>
支付确认
需要支付
¥0
二维码刷新中