Описание
Обновляет значение настройки (опции) в Базе Данных.
Эта функция может быть использована для того, чтобы добавлять новые опции, вместо add_options(): update_option сначала проверяет существует ли указанная опция, если нет, то добавляется новая. Название опции "очищается" методом $wpdb->escape, перед тем как опция добавляется в БД.
Заметка: в этой функции нельзя указать, чтобы опция не загружалась автоматически функцией wp_load_alloptions() (см. описание add_option()). Чтобы сделать опцию частной (не загружать со всеми вместе), используйте add_option для добавления настройки.
Функция возвращает true, если значение изменилось и false, если в БД ничего не поменялось или в случае ошибки.
Использование
<?php update_option( $option_name, $newvalue ); ?>
Параметры
- $option_name (строка) (обязательный)
- Название настройки, которую нужно обновить.
По умолчанию: нет - $newvalue (строка/массив/число/объект/логический) (обязательный)
- Новое значение настройки, которое будет добавлено в БД.
По умолчанию: нет
Примеры
1. Обновим существующую опцию my_option, установим ей значение "новое значение":
<?php update_option( 'my_option', 'новое значение' ); ?>
2. Обновим опцию myhack_extraction_length значением 255. Если такая опция еще не существует, то добавим её с использованием функции add_ooption(), в которой укажем, чтобы опция не загружалась автоматически (сделаем её частной).
<?php
$option_name = 'myhack_extraction_length' ;
$newvalue = '255' ;
if ( get_option( $option_name ) != $newvalue ) {
update_option( $option_name, $newvalue );
} else {
$deprecated = ' ';
$autoload = 'no';
add_option( $option_name, $newvalue, $deprecated, $autoload );
}
?>
update_option()
из файла: /wp-includes/functions.php WP 3.3.2function update_option( $option, $newvalue ) {
global $wpdb;
$option = trim($option);
if ( empty($option) )
return false;
wp_protect_special_option( $option );
if ( is_object($newvalue) )
$newvalue = clone $newvalue;
$newvalue = sanitize_option( $option, $newvalue );
$oldvalue = get_option( $option );
$newvalue = apply_filters( 'pre_update_option_' . $option, $newvalue, $oldvalue );
// If the new and old values are the same, no need to update.
if ( $newvalue === $oldvalue )
return false;
if ( false === $oldvalue )
return add_option( $option, $newvalue );
$notoptions = wp_cache_get( 'notoptions', 'options' );
if ( is_array( $notoptions ) && isset( $notoptions[$option] ) ) {
unset( $notoptions[$option] );
wp_cache_set( 'notoptions', $notoptions, 'options' );
}
$_newvalue = $newvalue;
$newvalue = maybe_serialize( $newvalue );
do_action( 'update_option', $option, $oldvalue, $_newvalue );
if ( ! defined( 'WP_INSTALLING' ) ) {
$alloptions = wp_load_alloptions();
if ( isset( $alloptions[$option] ) ) {
$alloptions[$option] = $_newvalue;
wp_cache_set( 'alloptions', $alloptions, 'options' );
} else {
wp_cache_set( $option, $_newvalue, 'options' );
}
}
$result = $wpdb->update( $wpdb->options, array( 'option_value' => $newvalue ), array( 'option_name' => $option ) );
if ( $result ) {
do_action( "update_option_{$option}", $oldvalue, $_newvalue );
do_action( 'updated_option', $option, $oldvalue, $_newvalue );
return true;
}
return false;
}Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.
а вы верите в сверхестественное и возможность повлиять на жизнь по средствам каких-то магических действий. Лично я отношусь к этому скептически, но говорят что мысль материальна... Например есть белая магия, благодаря которой можно изменить свою жизнь к лучшему, может и не стоит относиться так легкомысленно и нужно попробовать?
