|  | 
板凳
 
 
 楼主|
发表于 2021-5-29 08:41:17
|
只看该作者 
| 方法介绍 使用update_option()方法更新一对配置属性值到数据库。$option的值需要在插入到数据库之前用$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) (required) 要更新的属性值。不得超过64个字符。有一系列的默认配置属性可以在这看到Option Reference
 默认: None
 
 $newvalue
 (mixed) (required) 要更新的新值。这个值可以是integer、string、array、object。
 默认: None
 
 $autoload
 (mixed) (optional) 是否允许Wordpress启动的时候去加载这个属性。对于已经存在的配置属性,这个参数只能通过update_option()方法来更新。设置为true来开启这个功能,false来关闭这个功能。而对于不存在的配置属性,默认是yes。
 默认: null
 
 返回值
 (boolean)
 返回true表示更新成功,false表示更新失败。
例子
 更新核心配置属性
 设置默认评论状态为closed
 
 
 复制代码update_option( 'default_comment_status', 'closed' );
 这个属性通常在设置>评论管理节目来设置。查看Option Reference来看全部核心配置属性。
 
 更新自定义配置属性
 同样也可以创建自己的自定义配置属性。比如我们要更新myhack_extraction_length属性为255,那就这么设置:
 
 
 复制代码update_option( 'myhack_extraction_length', 255 );
 这样会在属性不存在的情况下新增这个配置属性。然而,如果你不想这个属性自动加载,那就必须使用add_option()来操作。这个例子呢,我们会在它存在的时候就更新,不存在呢,就用add_option()来进行,并设置$autoload参数设置为no。
 
 
 复制代码<?php
$option_name = 'myhack_extraction_length' ;
$new_value = '255' ;
if ( get_option( $option_name ) !== false ) {
    // The option already exists, so we just update it.
    update_option( $option_name, $new_value );
} else {
    // The option hasn't been added yet. We'll add it with $autoload set to 'no'.
    $deprecated = null;
    $autoload = 'no';
    add_option( $option_name, $new_value, $deprecated, $autoload ); //这里变成了4个参数,就有点不大理解了,待更新。。。
}
?>
 源文件
 update_option() 源文件 wp-includes/option.php.
 | 
 |