user_can

Проверяет возможности указанного пользователя, совершать разные действия.

Функция очень похожа на current_user_can(), отличается тем что ей нужно указывать первый параметр — ID/объект пользователя возможность которого нужно проверить.

Хуков нет.

Возвращает

true или false, в зависимости от того есть ли указанные возможности у пользователя.

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

user_can( $user, $capability );

Шаблон использования

$user_id = 3;
if( user_can( $user_id, 'manage_options' ) ){
	// код
}
$user(число/объект) (обязательный)
ID или объект пользователя, права которого нужно проверить.
По умолчанию: нет
$capability(строка) (обязательный)
Название возможности или роли. Список возможностей и ролей смотрите здесь.
По умолчанию: нет

Примеры

#1. Проверим может ли текущий пользователь удалять посты:

global $user_ID;
if( ! user_can( $user_ID, 'delete_posts' ) ){
	echo "У вас нет права удалять посты!";
}

Код из


wp-includes/capabilities.php

WP 4.7.2

<?php
function user_can( $user, $capability ) {
	if ( ! is_object( $user ) )
		$user = get_userdata( $user );

	if ( ! $user || ! $user->exists() )
		return false;

	$args = array_slice( func_get_args(), 2 );
	$args = array_merge( array( $capability ), $args );

	return call_user_func_array( array( $user, 'has_cap' ), $args );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *