update_option 更新设置选项

发布于:
更新时间:2020-10-27

描述

使用函数 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字符串需要更新的选项名称
$newvalue字符串选项的新值
$autoload字符串是否在WordPress初始化时加载选项null

对于现有的选项,如果 `$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”。

$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 );
}

我们提供 WordPress主题和插件定制开发服务

本站长期承接 WordPress主题、插件、基于 WooCommerce 的商店商城开发业务。 我们有 10 年WordPress开发经验,如果你想 用WordPress开发网站, 请联系微信: iwillhappy1314,或邮箱: amos@wpcio.com 咨询。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

*