@FelixKerser

Пользователь не может привязывать рубрики к CPT записям Wordpress, как дать ему это право?

Создал я роль "Преподаватели", чтобы пользователь с этой ролью мог редактировать преподавателей на сайте, и не мог случайно их удалить, и зайти в ненужные части админки. Но вылезла такая проблема, что к записям "Преподаватели" нельзя присвоить рубрики.
Я уже пытался это гуглить, много что перебпробовал. Давал различные доступы, но не помогало

Код с помощью которого создал роль

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');
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ответы на вопрос 1
@pantsarny
Так а где register post type ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы