# user_can()

URL: https://chugunov.pro/api-wordpress/functions/user_can/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 3.1.0.

## Сигнатура

```php
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 );

## Параметры

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

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

`bool`

## Исходный код

Файл: `wp-includes/capabilities.php:1010`

```php
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.

## Связанные

Использует: `WP_User::__construct`, [`get_userdata`](https://chugunov.pro/api-wordpress/functions/get_userdata/).
Используется в: [`user_can_for_site`](https://chugunov.pro/api-wordpress/functions/user_can_for_site/), `WP_REST_Application_Passwords_Controller::get_user`, [`wp_initialize_site`](https://chugunov.pro/api-wordpress/functions/wp_initialize_site/), [`current_user_can`](https://chugunov.pro/api-wordpress/functions/current_user_can/), [`map_meta_cap`](https://chugunov.pro/api-wordpress/functions/map_meta_cap/), [`wp_notify_postauthor`](https://chugunov.pro/api-wordpress/functions/wp_notify_postauthor/), [`wp_notify_moderator`](https://chugunov.pro/api-wordpress/functions/wp_notify_moderator/), [`get_allowed_mime_types`](https://chugunov.pro/api-wordpress/functions/get_allowed_mime_types/), [`get_dashboard_url`](https://chugunov.pro/api-wordpress/functions/get_dashboard_url/), [`wp_update_comment`](https://chugunov.pro/api-wordpress/functions/wp_update_comment/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/user_can/
