get_user_option()WP 2.0.0

Получает указанную опцию пользователя. Опция будет относиться к пользователю сайта сети (для мультисайтовой сборки) или просто к пользователю.

Если не передать ID пользователя (второй параметр), то функция будет использовать текущего авторизованного пользователя.

Функция сначала проверит опции (метаданные) пользователя для текущего сайта (проверка для мультисайтовой версии), если опция найдена, то будет возвращена она, если опция не найдена, то будет получена общая опция (не для сайта в сети).

Работает на основе: get_userdata()
Хуки из функции

Возвращает

Разное. Значение опции или false, если не удалось получить опцию.

Использование

get_user_option( $option, $user )
$option(строка) (обязательный)
Название опции пользователя, которую нужно получить.
$user(число)
ID пользователя, опцию которого нужно получить.
По умолчанию: ''

Примеры

1

#1 Пример использования

Проверим включена ли у пользователя возможность использовать админ-бар в лицевой части сайта:

$bar = get_user_option( 'show_admin_bar_front', get_current_user_id() );

if (  $bar == 'true' ) {
	echo 'Админ-бар включен';
} else {
	echo 'Админ-бар выключен';
}

Заметки

  • Global. wpdb. $wpdb WordPress database abstraction object.

Список изменений

С версии 2.0.0 Введена.

Код get_user_option() WP 6.4.3

function get_user_option( $option, $user = 0, $deprecated = '' ) {
	global $wpdb;

	if ( ! empty( $deprecated ) ) {
		_deprecated_argument( __FUNCTION__, '3.0.0' );
	}

	if ( empty( $user ) ) {
		$user = get_current_user_id();
	}

	$user = get_userdata( $user );
	if ( ! $user ) {
		return false;
	}

	$prefix = $wpdb->get_blog_prefix();
	if ( $user->has_prop( $prefix . $option ) ) { // Blog-specific.
		$result = $user->get( $prefix . $option );
	} elseif ( $user->has_prop( $option ) ) { // User-specific and cross-blog.
		$result = $user->get( $option );
	} else {
		$result = false;
	}

	/**
	 * Filters a specific user option value.
	 *
	 * The dynamic portion of the hook name, `$option`, refers to the user option name.
	 *
	 * @since 2.5.0
	 *
	 * @param mixed   $result Value for the user's option.
	 * @param string  $option Name of the option being retrieved.
	 * @param WP_User $user   WP_User object of the user whose option is being retrieved.
	 */
	return apply_filters( "get_user_option_{$option}", $result, $option, $user );
}