Вы наверняка видели в интернете сайты, которые разрешают пользователям добавлять записи или другой вид контента. А вы хотели бы реализовать такое у себя на сайте? В этой статье мы покажем вам как разрешить своим пользователям отправлять записи на ваш WordPress сайт без необходимости создавать аккаунт пользователя. Конечно же, вы можете затребовать регистрацию, если это нужно. Вам придется модерировать отправляемый пользователями контент вроде комментариев и одобрять их при желании. Этот способ полезен для сайтов вроде галерей, каталогов или даже блогов, принимающих гостевые записи.
Разрешаем зарегистрированным пользователям присылать контент
В WordPress есть встроенные роли и права пользователей, которые позволяют вам вести мультиавторский сайт. Пользователи могут регистрироваться на вашем сайте и создавать контент через админ.интерфейс с ограниченными правами. Для того, чтобы включить регистрацию пользователей, перейдите на Настройки » Общие, отмечайте Любой может зарегистрироваться рядом с опцией Членство. Выберите Автор или Подписчик в качестве дефолтной роли пользователя.
Теперь пользователи смогут регистрироваться на вашем сайте. Для того, чтобы сообщить об этой возможности пользователям, перетяните виджет Мета в сайдбар.
У пользователей появилась возможность логиниться на сайт и использовать админку для отправки своих записей и контента. У них будет ограниченный доступ к функциям администратора в зависимости от дефолтной роли, которую вы выбрали для них ранее.
Если же вы не хотите делать обязательной регистрацию, тогда читайте далее.
Разрешаем пользователям отправлять контент без регистрации
Многие владельцы сайтов не хотят всё усложнять, предоставляя пользователям доступ в админку. В этом случаем вам понадобится решение, которое позволит пользователям отправлять контент прямо с фронтенда сайта.
Первым делом вам потребуется установить и активировать плагин User Submitted Posts. После активации плагина переходим в Настройки » User Submitted Posts.
На странице настроек вы можете конкретно указать, что пользователи смогут отправлять. Вы можете выбрать поля, которые будут появляться в форме добавления контента, или же скрыть ненужные. Также можно указать автора по-умолчанию для всех отправленных пользователями материалов. Мы рекомендуем вам создать нового юзера Гостевой пользователь на сайте и назначать ему весь контент подобного рода.
Можно позволить пользователям загружать картинки, ограничить их размер и количество в контенте. Также можно устанавливать загруженную картинку в качестве миниатюры записи.
Для того, чтобы отобразить форму отправки контента, необходимо создать новую запись или странице. Задаем ей название и вставляем шорткод в то место, где нужно вывести форму:
[user-submitted-posts]
Вот так форма будет выглядеть на сайте:
Разрешаем пользователям отправлять ссылки/новости или изображения с фронтенда
В некоторых случаях может быть не нужна функция отправки полных статей. Возможно, вам будет достаточно, чтобы пользователи отправляли вам фотографии или ссылки с кратким описанием. В этом случае плагин User Submitted Posts позволит вам скрывать все лишние элементы, которые не нужно выводить. Представим, что вам достаточно получать от пользователей только ссылки. Переходим в Настройки » User Submitted Posts. В блоке опций выбираем только поля ссылки и названия для отображения, остальное же скрываем. Вот так будет выглядеть форма теперь:
У плагина нет своего виджета, но ничего не мешает вам спользовать шорткод, добавив его в текстовый виджет. Перетягиваем его в нужный сайдбар и вставляем шорткод [user-submitted-posts]. Если же виджет не отображает форму, то потребуется добавить вот такой вод код в файл functions.php темы:
add_filter('widget_text', 'do_shortcode');
Вот и все, мы надеемся, что эта статья помогла вам разрешить своим пользователям отправлять записи на ваш WordPress сайт.
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.