Когда пользователь создает новое сообщение, как мне определить его текущую роль?
Полагаю, вы знаете, какие хуки 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.
}