Intereting Posts
Как создать повторяющееся поле в метабоксе, если я следую учебнику wppb.io? 404 при извлечении изображения из wp-content / uploads / Переключить роли пользователей с помощью кнопки Порядок сортировки wp_list_pages по порядку верхнего навигационного меню и дочерний элемент Контактная форма 7 динамическое расширение текста – заполнение формы с заголовком с предыдущей страницы Формат содержимого содержимого из базы данных вне фильтров WordPress Не удается выполнить или отменить подписку на блоги в браузере Opera Как получить идентификатор зарегистрированного пользователя из базы данных? Проверка электронной почты для новых пользователей Заказ по ASC, DESC, Название, Дата с URL-адреса на странице персонализированного шаблона страницы Попытка зарегистрировать скрипт в нижнем колонтитуле Изменение URL-адресов для таксономии и CPT Как изменить заголовок элемента RSS, чтобы быть либо заголовком, либо настраиваемым мета-полем? как я могу «связаться с нами» на странице, созданной не для отображения Как получить имя файла прикрепленного файла, а не вложения

Лучшее решение для управления вложениями мультимедиа с помощью `wp_editor ()`?

В настоящее время используется wp_editor(); в интерфейсе моего веб-сайта в качестве формы подачи контента. Все отправленные сообщения задаются как «Ожидание», которые позже будут опубликованы или удалены администратором.

Кнопка «Добавить медиа» разрешена в wp_editor(); вызов.

Пользователи должны быть зарегистрированы и войти в систему с ролью пользователя «автор».

Авторам разрешено управлять своими сообщениями. Однако при нажатии кнопки «Добавить медиа» в качестве пользователя-автора все загрузки выходят из строя. В связи с тем, что все, что загружено через wp_editor(); добавляет вложения к этой странице. Для этого потребуется, чтобы пользователь имел следующие возможности: edit_pages , edit_published_pages и edit_others_pages , но, как вы знаете … возможности по умолчанию для пользователя «Автор» не имеют этих возможностей, что в свою очередь вызывает загрузку потерпеть неудачу.

Моя работа вокруг решения:

 public function modify_author_role(){ if(is_page('submit-content')){ $role = get_role('author'); $role->remove_cap('read'); $role->add_cap('edit_pages'); $role->add_cap('edit_published_pages'); $role->add_cap('edit_others_pages'); } else{ $role = get_role('author'); $role->add_cap('read'); $role->remove_cap('edit_pages'); $role->remove_cap('edit_published_pages'); $role->remove_cap('edit_others_pages'); } } add_action('template_redirect', array($this, 'modify_author_role')); 

Поэтому, когда пользователь edit_pages вошел в систему и просматривал страницу представления контента, они временно предоставили возможности: edit_pages , edit_published_pages и edit_others_pages , а также edit_others_pages возможность: read (запрещать доступ к панели мониторинга – если попытаться получить доступ в то время как страница подачи контента)

Если пользователь автора находится на любой другой странице веб-сайта или напрямую обращается к панели управления, у них будет нормальный доступ и нормальные возможности автора.

Таким образом, пользователь-автор только временно предоставляет более высокие привилегии при отправке контента в интерфейсе веб-сайта.

Я просто чувствую, что это огромный риск для безопасности. Есть GOT, чтобы быть более элегантным решением, чем это.

Есть ли способ, которым я могу сказать загрузки, сделанные через wp_editor(); на странице предоставления контента, чтобы позволить пользователю автора загружать файл и не прикреплять его к странице представления контента (оставаясь неприкрепленной)?

Solutions Collecting From Web of "Лучшее решение для управления вложениями мультимедиа с помощью `wp_editor ()`?"