Поддержка Проблемы и решения Запрет редактирования рубрик

  • Здравствуйте, Уважаемые форумчане.

    При доработке сайта столкнулся со следующей проблемой. Как известно, в вордпресс есть стандартные типы записей (запись, страница) и таксономии (рубрики, метки). При этом можно добавлять свои (я это делаю через плагин Custom Post Types). Как стандартные типы, так и кастомные типы по-умолчанию могут редактировать пользователи в роли «Автор», к этой части вопросов нет. Проблем с таксономиями.

    С помощью плагина User Role Editor можно установить для роли «Автор» опцию «Управлять категориями» (manage_categories), также как и снять эту возможность. Загвоздка в том, что данная опция относится как к рубрикам и меткам, так и к таксономиям моих типов записей. Задача в том, чтобы запретить «Авторам» редактировать (добавлять, изменять, удалять) рубрики, но при этом дать возможность добавлять свои позиции в таксономии кастомных типов записей.

    Физически это выглядит так.
    Есть тип записи — фотогалерея, у нее таксономия — альбомы, причем таксономия иерархическая.
    Есть уже добавленные позиции таксономии — «Фото города», «Фотоотчеты», «Юмор» с подразделами. У пользователя должна быть возможность добавлять свои позиции, в том числе дочерние к уже имеющимся.

    Можно ли каким-то образом реализовать это в вордпрессе не правя исходный код самой системы?

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    При регистрации таксономии вместо manage_categories можно указать собственный набор прав для добавления, редактирования и удаления элементов.

    Посмотрите параметр capabilities:
    http://codex.wordpress.org/Function_Reference/register_taxonomy

    С помощью плагина Custom Post Type UI этот параметр тоже должен настраиваться.

    Спасибо за наводку. В Custom Post Type UI можно только задать Capability Type, а вот привязать «Возможности» к этому типу плагин не дает. В User Role Editor можно создать новые возможности, но опять же без привязки к типам записи. Если не найду подходящего плагина для связки, придется дописывать в functions.php

    Вдруг кому понадобиться. Плагин Custom Post UI не полностью охватывает возможности вордпресса по созданию типов и таксономий, наверняка из-за коммерческой версии.

    В файле custom-post-type-ui.php плагина есть строка register_taxonomy, в которой третьим параметров идет массив данных, в этот массив нужно добавить элемент что-то вроде

    'capabilities' => array(
    'manage_terms' => 'manage_mytax',
    'edit_terms' => 'edit_mytax',
    'delete_terms' => 'delete_mytax',
    'assign_terms' => 'assign_mytax'
    )

    и сохранить.

    Дальше в плагине User Role Editor добавить новые возможности manage_mytax, edit_mytax, delete_mytax, assign_mytax и проставить галочки для соответствующих ролей

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Спасибо, что поделились решением.

    Насколько мне известно, Custom Post Type UI полностью бесплатен и не имеет коммерческой версии, однако поддержка параметра capabilities для таксономий действительно почему-то не реализована.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Запрет редактирования рубрик» закрыта для новых ответов.