Привет.
По идее, должно хватить штатной функции*
current_user_can( 'название_роли' );
. Или можно воспользоваться плагином вроде
этого.
* - именно по названию роли эта функция отрабатывает не всегда корректно. Более стабильный результат можно получить, используя название прав, а не ролей.
Например пользователи с группой сотрудник не могут видеть страницы магазин, заказы.
Если пользователь выйдет из своей учётной записи, то ему будут видны страницы сайта "Магазин" и "Заказы". Получается, что надо также добавлять проверку
is_user_logged_in();
.