update_option 更新设置选项

Posted in:
Update time:2020-10-27

descriptive

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

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

Usage

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

parameters

parametersdata typeRequired or notdescriptivedefault value
$optionstring (computer science)be需要更新的选项名称not have
$newvaluestring (computer science)be选项的新值not have
$autoloadstring (computer science)clogged是否在WordPress初始化时加载选项null

对于现有的选项,如果 `$value` 也改变了, `$autoload`只能使用 `update_option()` 修改,接受’yes’ 或 true 为启用,’no’ 或 false为禁用,对于尚不存在的选项,默认的值为’yes’。 默认: null

return value

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

usage example

更新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 );
}

We offer WordPress Themes and Plugins Custom Development Services

This site has long undertaken WordPress themes, plugins, WooCommerce-based store mall development business. We have 10 years of experience in WordPress development, if you want to Developing Websites with WordPress, please contact WeChat: iwillhappy1314 or email: amos@wpcio.com for inquiries.

发表回复

Your email address will not be published. 必填项已用 * 标注

*