|
板凳
楼主 |
发表于 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. |
|