Создал я роль "Преподаватели", чтобы пользователь с этой ролью мог редактировать преподавателей на сайте, и не мог случайно их удалить, и зайти в ненужные части админки. Но вылезла такая проблема, что к записям "Преподаватели" нельзя присвоить рубрики.
Я уже пытался это гуглить, много что перебпробовал. Давал различные доступы, но не помогало
Код с помощью которого создал роль
function add_teacher_role() {
add_role('teacher', 'Преподаватель', array(
'read' => true, // Разрешаем просмотр контента
));
}
add_action('init', 'add_teacher_role');
function restrict_teacher_role() {
$teacher_role = get_role('teacher');
$teacher_role->add_cap('edit_teacher');
$teacher_role->add_cap('read_teacher');
$teacher_role->add_cap('edit_published_teacher');
$teacher_role->add_cap('publish_teacher');
$teacher_role->add_cap('edit_others_teacher');
$teacher_role->add_cap('assign_terms'); // Эта возможность разрешает привязку к таксономиям
$teacher_role->add_cap('manage_categories');
// Отменяем права на редактирование, публикацию и удаление для других типов записей
$teacher_role->remove_cap('edit_post');
$teacher_role->remove_cap('edit_others_posts');
$teacher_role->remove_cap('edit_published_posts');
$teacher_role->remove_cap('publish_posts');
$teacher_role->remove_cap('delete_posts');
$teacher_role->remove_cap('delete_others_posts');
$teacher_role->remove_cap('delete_published_posts');
// Даем администратору полные права
$admin_role = get_role('administrator');
$admin_role->add_cap('edit_teacher');
$admin_role->add_cap('read_teacher');
$admin_role->add_cap('edit_published_teacher');
$admin_role->add_cap('publish_teacher');
$admin_role->add_cap('delete_teacher');
$admin_role->add_cap('edit_others_teacher');
$admin_role->add_cap('delete_others_teacher');
$admin_role->add_cap('delete_published_teacher');
}
add_action('init', 'restrict_teacher_role');