update_blog_option()
Обновляет опцию указанного сайта в сети WordPress Multisite.
Если нужно обновить опцию текущего сайта, вызывает update_option(). Если указан другой сайт, ереключается на него через switch_to_blog(), обновляет опцию и затем возвращается обратно через restore_current_blog().
Функция предназначена для Multisite. Однако также будет работать и в обычной установке аналогично функции update_option().
Работает на основе: update_option()
Хуков нет.
Возвращает
true|false.
true— если значение опции было изменено.false— если значение не изменилось или обновить опцию не удалось.
false в результате не всегда означает ошибку. Так как внутри используется update_option(), функция также получит false, если новое значение совпадает со старым.
Использование
update_blog_option( $id, $option, $value, $deprecated );
- $id(int) (обязательный)
- ID сайта в сети Multisite.
- $option(string) (обязательный)
- Название опции, которую нужно обновить.
- $value(mixed) (обязательный)
- Новое значение опции. Значение можно передавать без ручной сериализации — update_option() сделает это сам, если нужно.
- $deprecated(mixed)
- Не используется. Если передать значение, отличное от
null, WordPress вызовет предупреждение через _deprecated_argument().
По умолчанию: null
Примеры
#1 Обновление названия сайта по ID
Обновляет опцию blogname для сайта с ID 3.
$updated = update_blog_option( 3, 'blogname', 'Новый сайт' );
if ( $updated ) {
echo 'Название сайта обновлено.';
}
#2 Обновление пользовательской опции для другого сайта
Сохраняет массив настроек в опцию указанного сайта.
$settings = [ 'color' => 'blue', 'layout' => 'wide', 'enabled' => true, ]; update_blog_option( 5, 'my_plugin_settings', $settings );
#3 Проверка результата с учетом неизмененного значения
Показывает, что false может означать не ошибку, а отсутствие изменений.
$site_id = 2;
$option = 'blogdescription';
$value = 'Описание сайта';
$updated = update_blog_option( $site_id, $option, $value );
if ( $updated ) {
echo 'Опция была изменена.';
} else {
echo 'Опция не изменилась или обновление не удалось.';
}Список изменений
| С версии 3.0.0 | Введена. |
Код update_blog_option() update blog option WP 7.0
function update_blog_option( $id, $option, $value, $deprecated = null ) {
$id = (int) $id;
if ( null !== $deprecated ) {
_deprecated_argument( __FUNCTION__, '3.1.0' );
}
if ( get_current_blog_id() === $id ) {
return update_option( $option, $value );
}
switch_to_blog( $id );
$return = update_option( $option, $value );
restore_current_blog();
return $return;
}