function add_se_roles() {
$es_admin = add_role('es_admin','Администратор Системы Мероприятий',array( 'read'=>true,'level_7'=>true));
if ( null !== $es_admin ) {
$es_administrator = get_role('es_admin'); // Для CPT
$es_administrator->add_cap('edit_es_event_content');
$es_administrator->add_cap('edit_es_event_contents');
$es_administrator->add_cap('read_es_event_content');
$es_administrator->add_cap('read_private_es_event_content');
$es_administrator->add_cap('delete_es_event_content');
$es_administrator->add_cap('delete_es_event_contents');
$es_administrator->add_cap('edit_published_es_event_contents');
$es_administrator->add_cap('delete_published_es_event_contents');
$es_administrator->add_cap('edit_other_es_event_content');
$es_administrator->add_cap('manage_es_event_type'); // <-Права таксономии вопроса
$es_administrator->add_cap('edit_es_event_type');
$es_administrator->add_cap('delete_es_event_type');
$es_administrator->add_cap('assign_es_event_type');
$es_administrator->add_cap('manage_es_event_operation');
$es_administrator->add_cap('edit_es_event_operation');
$es_administrator->add_cap('delete_es_event_operation');
$es_administrator->add_cap('assign_es_event_operation');
$es_administrator->add_cap('manage_es_event_location');
$es_administrator->add_cap('edit_es_event_location');
$es_administrator->add_cap('delete_es_event_location');
$es_administrator->add_cap('assign_es_event_location');
$es_administrator->add_cap('manage_es_event_team');
$es_administrator->add_cap('edit_es_event_team');
$es_administrator->add_cap('delete_es_event_team');
$es_administrator->add_cap('assign_es_event_team');
$es_administrator->add_cap('manage_event_service');
}
}
// Легче создать относительно пустую, со стандартными возможностями роль и по итогам создания напичкать ее всем, чем нужно.
// Все, что нужно прописывается в функциях создания таксономий и произвольного типа записи.
// очищаем кэш
wc_delete_product_transients($product_id);