Wordpress создание роли с доступом к плагину?
Берете создаете юзера, добавляете ему кастомную роль и кастомную возможность. Затем для него закрываете все кроме того, что разрешено, проверяете по новой возможности. Разрешать/закрывать следующим образом

Список плагинов получаете вот так
global $wp_list_table;
$plugins = $wp_list_table->items;
#Ключами тут являются строки такого вида 'plugin-directory/plugin-file.php' проверять по ним

Дaльше вешаетесь на след фильры.
'site_transient_update_plugins' - скрыть обновление плагина
'pre_current_active_plugins' - скрыть плагин из списка плагинов

 'admin_init'  -  сюда вешаете проверку на текущую страницу и запрет доступа к ней 
проверяете через current_screen и $_GET 
и если запрещено, то делаете так wp_die( 'Доступ запрещен' );

Скрывать  меню так 

global $menu;
foreach ( $menu as $i => $item ) {
	unset( $menu[ $i ] );
}
#В $item[2] строка вида page.php?param=param_val - проверять по нему

Вешать на хук 'admin_menu'

Это алгоритм как и что делать, если разбираетесь, то поможет, если нет, то извините((  писать сам функционал, но оно такое, нет желания час терять на это сейчас
Установить плагин на скрытие пунктов меню из админки, и там вроде можно скрыть определенные пункты для пользователей.