Intereting Posts
Как добавить флажки для продукта woocommerce? URL-адрес формата почтового формата пользовательского типа почты? Интеграция почтового архива с другим источником и сохранение упорядочения дат Различные ссылки для чтения для каждого настраиваемого типа сообщений Проверьте IF – это «страница с одним продуктом» и проверьте «роль» для перенаправления Как получить сообщение с помощью функции get_posts? Как настроить подменю isn wordpress theme Функция the_editor () Показать цену за метку рядом с общей ценой Использование функций из плагина в вашей теме содержимое резюме сообщения исчезает Если изображения добавлены в начале сообщения. как его решить? Как разместить метаопределение таксономии на странице Как передать несколько значений в shortcode? заголовок, таблица стилей не читается Тип пользовательской публикации и таксономия при ошибке URL-адреса

Лучшее решение для управления вложениями мультимедиа с помощью `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 ()`?"