2010-08-17 3 views

ответ

9

Я предполагаю, что вы знаете, какие крючки Wordpress вы хотите использовать. Так пропуская ту часть, это довольно легко получить текущую роль пользователя

$current_user = wp_get_current_user(); 
if (!($current_user instanceof WP_User)) 
    return; 
$roles = $current_user->roles; //$roles is an array 

Теперь вы можете перебрать этот массив, чтобы увидеть, если пользователь имеет определенную роль.

Или вы можете использовать current_user_can для поиска конкретных возможностей, если вы просто хотите проверить, имеет ли пользователь конкретное разрешение или нет ли он в роли. Например:

if (current_user_can('delete_posts')) { 
    //display the delete posts button. 
} 
+0

Отлично! Это то, что я ищу! :) Благодаря! Кстати, какой крючок я должен использовать для этого кода? –

+0

Я бы зацепил save_post – villecoder

+0

Обратите внимание, что в WP codex в настоящее время говорится: «Не передавать имя роли в' current_user_can() ', поскольку это не гарантируется корректно работать». – Robbert

0

Этот код поможет вам

<?php echo array_shift(wp_get_current_user()->roles); ?> 
+0

Можете ли вы рассказать о том, как решить эту проблему? – Phani

Смежные вопросы