Описание
Добавляет настройку (название и значение опции) в Базу Данных. Не делает ничего, если настройка уже существует.
Если данные нужно сериализовать, для хранение в БД, то они будут автоматические сериализованы перед добавлением опции. Так, в настройках можно хранить массивы.
Можно создавать опции с пустым значением и добавлять значение позже.
Функция возвращает ture, если удалось добавить настройку и false, если нет.
Использование
<?php add_option( $name, $value, $deprecated, $autoload ); ?>
Параметры
- $name (строка) (обязательный)
- Название опции, которую будем добавлять. Для названий используйте подчеркивание _ для разделения слов и не используйте буквы в ВЕРХНЕМ РЕГИСТРЕ.
По умолчанию: нет - $value (строка/массив/число/объект/логический)
- Значение опции. Ограничение 232 байта.
По умолчанию: '' - $deprecated (строка)
- Запрещен с версии 2.3.
По умолчанию: '' - $autoload (строка)
- Автозагрузка (загрузка опции в кэш). Нужно ли загружать эту опцию функцией wp_load_alloptions() (добавляет опцию в массив опций, при генерации страницы, затем опция берется из массива). Может быть yes или no.
По умолчанию: 'yes'
Примеры
1. Добавим опцию my_option со значением 255. Опция будет подгружаться автоматически со всеми остальными:
<?php add_option( 'my_option', '255' ); ?>
add_option()
из файла: /wp-includes/functions.php WP 3.3.2function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' ) {
global $wpdb;
if ( !empty( $deprecated ) )
_deprecated_argument( __FUNCTION__, '2.3' );
$option = trim($option);
if ( empty($option) )
return false;
wp_protect_special_option( $option );
if ( is_object($value) )
$value = clone $value;
$value = sanitize_option( $option, $value );
// Make sure the option doesn't already exist. We can check the 'notoptions' cache before we ask for a db query
$notoptions = wp_cache_get( 'notoptions', 'options' );
if ( !is_array( $notoptions ) || !isset( $notoptions[$option] ) )
if ( false !== get_option( $option ) )
return false;
$_value = $value;
$value = maybe_serialize( $value );
$autoload = ( 'no' === $autoload ) ? 'no' : 'yes';
do_action( 'add_option', $option, $_value );
if ( ! defined( 'WP_INSTALLING' ) ) {
if ( 'yes' == $autoload ) {
$alloptions = wp_load_alloptions();
$alloptions[$option] = $value;
wp_cache_set( 'alloptions', $alloptions, 'options' );
} else {
wp_cache_set( $option, $value, 'options' );
}
}
// This option exists now
$notoptions = wp_cache_get( 'notoptions', 'options' ); // yes, again... we need it to be fresh
if ( is_array( $notoptions ) && isset( $notoptions[$option] ) ) {
unset( $notoptions[$option] );
wp_cache_set( 'notoptions', $notoptions, 'options' );
}
$result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $value, $autoload ) );
if ( $result ) {
do_action( "add_option_{$option}", $option, $_value );
do_action( 'added_option', $option, $_value );
return true;
}
return false;
}Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.
для владельцев коттеджей иногда очень важно иметь внутри котиеджа аппаратуру по наблюдению за постояльцами, такой комплект видеонаблюдения и монтаж можно подобрать и заказать онлайн на сайте home-sapiens.ru.