Создание новой роли пользователей WordPress

Задача: создать новую роль для пользователей которая будет иметь определенные права:

  • писать записи на сайта
  • загружать картинки к записям
  • редактировать свои записи
  • отправлять свои записи на утверждение администратору
  • редактировать свой профиль
весь код вносится в файл functions.php вашего шаблона

Для начала мы создаем новую роль в CMS путем клонирования роли Автора

источник: https://gist.github.com/felixzapata/9144986

И так, мы клонировали права автора новой роли пользователей — Писатель. Теперь нам необходимо запретить пользователем с данной ролью публиковать посты на сайте. Для этого добавляем следующий код

Теперь у пользователей данной роли вместо кнопки Опубликовать кнопка Отправить на утверждение при нажатии на которую записи присваивается одноименный статус.

Т.к. мы клонировали права автора пользователь с нашей ролью имеет доступ к множеству пунктов меню административной панели. Как убрать пункты меню в админ панели написано здесь.

При написании наш Писатель может добавлять картинки к своей записи, но, по умолчанию, он видит все существующие картинки в Медиабиблиотеке. Давайте ограничим отображение картинок:

Вариант 1 — при помощи плагина wp users media

Вариант 2 — кодом:

источник: https://www.itsupportguides.com/wordpress/wordpress-how-to-make-media-library-only-show-current-users-images/

Теперь каждый Писатель будет видеть только свои изображения в Медиафайлах.

А вот при помощи такого кода даже администратор не будет видеть файлы авторов

Leave a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *