функция since 3.1.0

user_can()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

user_can( int|WP_User $user, string $capability, mixed $args ): bool

Описание

Эта функция также принимает ID объекта для проверки, если право доступа является метаправом. Метаправа, такие как edit_post и edit_user, — это права, которые функция map_meta_cap() использует для сопоставления с примитивными правами, которыми обладает пользователь или роль, такими как edit_posts и edit_others_posts.
Пример использования:
user_can( $user->ID, 'edit_posts' );
user_can( $user->ID, 'edit_post', $post->ID );
user_can( $user->ID, 'edit_post_meta', $post->ID, $meta_key );

Оригинал (английский)

This function also accepts an ID of an object to check against if the capability is a meta capability. Meta capabilities such as edit_post and edit_user are capabilities used by the map_meta_cap() function to map to primitive capabilities that a user or role has, such as edit_posts and edit_others_posts.

Example usage:

user_can( $user->ID, 'edit_posts' );
user_can( $user->ID, 'edit_post', $post->ID );
user_can( $user->ID, 'edit_post_meta', $post->ID, $meta_key );

Параметры

$user int|WP_User обязательный
ID пользователя или объект пользователя.
$capability string обязательный
Имя права доступа.
$args mixed необязательный
Необязательные дополнительные параметры, обычно начинающиеся с ID объекта.

Возвращаемое значение

bool

Исходный код

wp-includes/capabilities.php:1010

function user_can( $user, $capability, ...$args ) {
	if ( ! is_object( $user ) ) {
		$user = get_userdata( $user );
	}

	if ( empty( $user ) ) {
		// User is logged out, create anonymous user object.
		$user = new WP_User( 0 );
		$user->init( new stdClass() );
	}

	return $user->has_cap( $capability, ...$args );
}

История изменений

ВерсияОписание
5.3.0 Formalized the existing and already documented ...$args parameter by adding it to the function signature.
3.1.0 Introduced.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.