Функция UPDATE_USER_OPTION() в WordPress
Функция UPDATE_USER_OPTION() позволяет обновлять параметры пользователя с использованием глобальных возможностей сайта. Давайте разберёмся, что это значит и как с ней работать.
Что такое пользовательские параметры?
Пользовательские параметры (options) похожи на метаданные пользователя (user metadata), но они могут быть глобальными для всех блогов. Если параметр is_global равен false (по умолчанию), к имени параметра автоматически добавляется префикс таблицы WordPress.
Важно: Если значение $newvalue пустое, функция удалит этот параметр пользователя.
Возвращаемые значения
Функция может вернуть одно из следующих значений:
- Int: Идентификатор метаданных пользователя, если параметр не существовал.
- true: Успешное обновление параметра.
- false: Ошибка при обновлении.
Как использовать функцию
Синтаксис функции выглядит так:
update_user_option( $user_id, $option_name, $newvalue, $is_global );
Параметры
$user_id(int, обязательный): ID пользователя, для которого нужно обновить параметр.$option_name(string, обязательный): Имя пользовательского параметра.$newvalue(mixed, обязательный): Новое значение параметра.$is_global(bool, необязательный): Определяет, будет ли имя параметра глобальным для всех блогов или только для текущего. По умолчаниюfalse(локальный параметр).
Примеры использования
1. Добавление параметра PREFIX_TEST_OPTION для пользователя с ID 1
update_user_option( 1, 'test_option', 'my_value' );
// У пользователя 1 будет мета-поле wp_test_option со значением my_value
Где wp_ - это префикс, который используется в базе данных.
2. Добавление параметра TEST_OPTION для пользователя с ID 1 как глобального
update_user_option( 1, 'test_option', 'my_value', true );
// Аналогично update_user_meta() - пользователь 1 будет иметь
// мета-поле test_option со значением my_value
3. Скрытие панели администратора для пользователя на фронтальной части сайта
update_user_option( $user_id, 'show_admin_bar_front', false );
При установке многоуровневого сайта можно использовать параметр $is_global, чтобы установить параметры пользователя для всей сети, а не только для текущего сайта:
update_user_option( $user_id, 'show_admin_bar_front', false, true );
Замечания
global: используется объект абстракции базы данных WordPress$wpdb.
Изменения
Функция UPDATE_USER_OPTION была введена в версии 2.0.0 WordPress.
Код функции
Вот код функции, которая реализует update_user_option():
function update_user_option( $user_id, $option_name, $newvalue, $is_global = false ) {
global $wpdb;
if ( ! $is_global ) {
$option_name = $wpdb->get_blog_prefix() . $option_name;
}
return update_user_meta( $user_id, $option_name, $newvalue );
}
Связанные функции
- delete_user_option(): Удаляет параметр пользователя.
- get_user_option(): Получает значение параметра пользователя.
Теперь вы знаете, как использовать функцию UPDATE_USER_OPTION() в WordPress для обновления параметров пользователей. Эта функция может быть особенно полезной при работе с многосайтовыми установками.