current_user_can() – проверяет, имеет ли текущий пользователь определённую возможность

Прежде всего, про Роли и Возможности вы можете почитать более детально в этом уроке.

current_user_can( $capability, ...$args )

Итак, функция проверяет, имеет ли текущий пользователь определённую возможность (право) и возвращает true или false (имеет или не имеет).

$capability
(строка) Возможность, которую нам нужно проверить. Таблицу со списком возможностей вы например можете найти тут.
...$args
Один или несколько аргументов, которые могут понадобиться в зависимости от того, какую возможность мы проверяем, например это может быть ID поста или мета ключ (если непонятно, лучше сразу скролльте к примерам).

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

if( current_user_can( 'edit_posts' ) ) {
	// да, может
}

Пример 2. Проверяем, что текущий пользователь может редактировать запись с определённым ID

$post_id = 5;
 
if( current_user_can( 'edit_post', $post_id ) ) {
	// да, он может редактировать запись с ID = 5
}

Пример 3. Проверяем, что текущий пользователь может редактировать произвольное поле с определённым ключом определённой записи!

$post_id = 5;
$meta_key = 'seo_title';
 
if( current_user_can( 'edit_post_meta', $post_id, $meta_key ) ) {
	// да, блин, может
}

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

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

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал