функция since 2.9.0

author_can()

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

Сигнатура

author_can( int|WP_Post $post, string $capability, mixed $args ): bool

Описание

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

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

Параметры

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

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

bool

Исходный код

wp-includes/capabilities.php:973

function author_can( $post, $capability, ...$args ) {
	$post = get_post( $post );
	if ( ! $post ) {
		return false;
	}

	$author = get_userdata( $post->post_author );

	if ( ! $author ) {
		return false;
	}

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

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

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

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

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