Как разрешить пользователям отправлять записи на ваш сайт

Сталкивались ли вы когда-либо с сайтами, которые позволяют пользователям отправлять записи или другие типы контента? Желаете ли вы публиковать отправленный пользователями контент на своем сайте? В этой статье мы покажем, как разрешить вашим посетителям отправлять записи на ваш сайт без создания пользовательского аккаунта. Естественно, вы можете потребовать регистрации пользователей, если вам так нравится. Вы можете модерировать отправленный пользователями контент по аналогии с комментариями, одобряя только понравившиеся статьи. Данный метод полезен для многих сайтов, которые поддерживают гостевые записи.

Разрешаем зарегистрированным пользователям отправлять записи

Система WordPress включает в себя пользовательские роли и возможности, которые позволяют вам вести сайт с многочисленными авторами. Пользователи могут регистрироваться на вашем сайте и создавать контент, используя интерфейс администратора с ограниченными возможностями. Чтобы включить пользовательскую регистрацию, пройдите в раздел Параметры – Общие и выберите пункт «Любой может зарегистрироваться». Укажите Автора или Участника (Contributor) в качестве стандартной пользовательской роли.

userregistrationwp

Теперь пользователи смогут регистрироваться на вашем сайте. Чтобы пользователи знали, что у них есть такая возможность, перейдите в раздел Внешний вид – Виджеты и поместите в сайдбар виджет Мета.

metawidgetwp

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

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

Разрешаем пользователям отправлять записи без регистрации

Многие владельцы сайтов не желают усложнять вещи и предоставлять пользователям доступ к панели администратора в WordPress. В данном случае вам потребуется решение, которое позволит пользователям отправлять контент напрямую из фронтэнда сайта.

Для начала вам понадобится установить и активировать плагин User Submitted Posts. После активации переходим в раздел Параметры — User Submitted Posts для настройки плагина.

usersubmittedposts-settings

На странице настроек в разделе опций вы можете установить тот тип контента, который вы хотите получать от пользователей. Вы можете выбирать поля, которые должны быть представлены в форме отправки материалов, скрывать какие-либо поля от пользователей и т.д. Также вы можете задать стандартного автора для всего отправляемого пользователями контента. Мы рекомендуем вам создать нового гостевого пользователя, чтобы все отправляемые записи присваивались ему при публикации.

Вы можете также разрешить пользователям загружать изображения, задавать ограничения на число изображений и максимальный размер изображения. Имеется возможность установки загруженного пользователем изображения в качестве миниатюры.

usersubmittedimages

Чтобы вывести на экран форму отправки контента, вам необходимо создать новую запись или страницу. Дайте ей название и вставьте в нее следующий шорткод (без пробелов):

[ user-submitted-posts ]

Форма отправки материалов может выглядеть следующим образом:

usersubmittedposts-front-end

Разрешаем пользователям отправлять ссылки/новости и изображения из фронтэнда

В некоторых случаях статьи могут оказаться для вас лишними. Возможно, вам требуется, чтобы пользователи отправляли свои фото или ссылки на записи с короткими описаниями. В данном случае плагин User Submitted Posts позволяет вам скрывать любой пункт, который вы не желаете выводить на экран. Скажем, что вы хотите дать возможность пользователям посылать вам только ссылки. Переходим в раздел Параметры — User Submitted Posts. В панели Options устанавливаем вывод полей Your URL и Post Title. Все остальные поля скрываем. В итоге форма отправки будет выглядеть следующим образом:

usersubmittedlinks

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

add_filter('widget_text', 'do_shortcode');

Использование Gravity Forms для отправки пользовательских записей

Мы используем сами и рекомендуем всем остальным использовать плагин Gravity forms. После тестирования всех доступных вариантов мы пришли к выводу, что этот плагин наиболее дружественный к новичкам. Он может использоваться для создания разных видов форм с помощью интуитивного drag-n-drop интерфейса. Далее мы покажем вам, как использовать Gravity forms для отправки пользовательских статей на ваш сайт (как с регистрацией аккаунтов, так и без).

Для начала вы должны установить и активировать плагин Gravity forms. После активации выбираем Forms — New Form. Задаем заголовок и описание для формы. По правую руку будут находиться поля, которые вы можете добавить к форме. В секции Post Fields вы сможете найти поля, необходимые пользователям для создания записи.

gravityforms-postfields

Щелкните по тем полям, которые вы желаете добавить в форму. К примеру, title, post body, categories и т.д. Вы увидите, что каждое поле, которое вы добавили, имеет ссылку редактирования. Щелкните по ссылке редактирования поля post body, чтобы настроить параметры для записи. Вы можете выбрать стандартного автора, стандартный статус записи, произвольный тип записи, максимальное количество символов и т.д.

gf-postfields

Как только вы завершите добавление полей, сохраните вашу форму. Для управления поведением формы перейдите во вкладку параметров формы в самом верху страницы. Вы увидите вкладки с параметрами формы, уведомлениями и подтверждениями. Здесь вы можете указать, что произойдет, когда пользователь отправит форму, потребовать входа в систему, ограничить количество записей, добавить анти-спам. Как только вы все настроите, щелкните по кнопке Update Form Settings.

gravityformsettings

Для начала создайте запись или страницу, на которой будет представлена форма. Вы заметите новую кнопку Add Form, которая будет идти сразу после кнопки Add Media над редактором записей. Щелкните по кнопке Add Form и выберите форму, которую вы только что создали. Вы увидите, что шорткод будет добавлен в запись/на страницу. Сохраните страницу и просмотрите ее.

gravityforms-postsubmission

Привлекательность Gravity Forms состоит в том, что этот плагин позволяет добавлять к формам произвольные поля, произвольные таксономии и т.д. Минус его лишь в том, что он платный.

Источник: wpbeginner.com

Блог про WordPress
Комментарии: 33
  1. Андрей

    Объясните, а как будет выглядеть страница при использовании этих плагинов? Появляется ли запись сразу на странице или нет, как это выглядит как очередная форма обратной связи или возможно древовидное расположение ( по виду гостевой книги). На какой странице это все публикуется, по сколько записей на странице и не плохо бы несколько скриншотов того что получается в итоге

    1. Дмитрий (автор)

      Вот пример формы от разработчиков:

      http://perishablepress.com/demos/user-submitted-posts/

      Обычная контактная форма с привязкой капчи и разных антиспам-элементов (контрольных вопросов и т.д.)

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

      Вот скриншот настроек:

      http://perishablepress.com/wp/wp-content/images/2012/user-submitted-posts-04.gif

  2. Андрей

    Спасибо, попробую как получается. Но меня интересует что-то чтобы создать простую гостевую книгу, по типу комментариев. Я делаю делаю сайт на wordpress со статичными страницами, комментарии отключил, а хочу создать гостевую книгу для высказываний. Меня вот посетила такая мысль, а можно ли на отдельную страницу вывести комментарии, которые изначально идут в wordpress. Вроде как и получится гостевая книга. Вы не знаете как это соорудить. Буду очень благодарен. Я использую базовый шаблон twentyten.

    1. Дмитрий (автор)

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

      http://wordpress.org/plugins/comment-guestbook/

      или

      http://wordpress.org/plugins/dmsguestbook/

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

  3. Волшебник

    Так можно для отдельной страницы комментарии включить и всё.

  4. Андрей

    И еще вопрос по User Submitted Posts вы пишите «Мы рекомендуем вам создать нового гостевого пользователя, чтобы все отправляемые записи присваивались ему при публикации.» Я не совсем понял, где его создать и для чего это надо. Извините, может мой вопрос покажется дилетантским, но я только пытаюсь обучиться.

    1. Дмитрий (автор)

      Записи будут присваиваться некоторому пользователю, от лица которого они и будут публиковаться. Можно создать пользователя Guest в админке WP.

  5. Людмила

    Здравствуйте.
    Вы написали как разрешить пользователям отправлять записи на сайт. А как можно запретить? Мне в таких записях оставляют обратные ссылки в виде спама. Сегодня у одной такой записи стоял замок (был введен пароль на удаление записи). Я смогла удалить эту запись только после того, как удалила пользователя, который ее оставил.

    1. Дмитрий (автор)

      Отключить плагин, вот и все. Если у вас идет добавление записей именно через фронтэнд.

    2. Волшебник

      Редактируете запись в админке, и снимаете галочки:

      — Разрешить комментарии.
      — Разрешить обратные ссылки и уведомления.

      Да и регистрацию имхо лучше отключить.

  6. Андрей

    Спасибо

  7. Андрей

    Пробовал протестировать плагин User Submitted Posts, что-то он не корректно работает, не добавляются файлы и форма для написания поста не такая как у вас на скриншоте, а очень примитивная. Каптча почему-то не меняется один и тот же вопрос все время. Может данный плагин не работает с версией wordpress 3.6 как у меня. На оф. сайте написано, что данный плагин не протестирован с версией 3.6 и выше. Можете посоветовать что-то иное?

  8. Федор

    Если у меня есть скажем 3 категории — Кипр, Египет, Турция. И я хочу чтобы любой мог опубликовать отзыв и чтобы этот отзыв появлялся только в одной категории.Тогда мне нужно сделать 3 формы отправки. Есть такой плагин чтобы мог генерировать несколько форм ?

    1. Дмитрий (автор)

      Пробуйте разные плагины. Сказать точно, какой из них позволяет добавлять несколько форм, я не могу.

  9. Волшебник

    Дмитрий, как вы считаете стоит ли пропускать спам-коменты вида: «Полезная статья», «Спасибо большое за статью!», «Отличная статья», «Всё четко и грамотно изложено», «Спасибо», «Статья супер», «Отличный блог!», «Именно это и искал, за статью!» и тому подобные бессмысленные коменты? Я подписан на RSS статьей и комментариев к вашему блогу, но мне кажется, подобные коменты, прилетающие в RSS просто отнимают время да и блог замусоривают бессмысленной информацией.

    1. Дмитрий (автор)

      Я такие комментарии всегда удаляю. Не знаю, как они проходят вообще через антиспам.

  10. Волшебник

    Скорее всего их оставляют вручную, поэтому акисмет не распознаёт их как спам.

    1. Дмитрий (автор)

      Стараюсь оперативно удалять их, как только выхожу онлайн.

  11. Redjek

    Добрый..
    В чем может быть проблема, делаю форму в гравиворме, у меня есть поле загрузить изображение, Но при модерации отправленного поста, этого изображения нигде не видно, Но при публикации она появляеться. Как модерировать если не видно чего там =) Помогите пожалуйста

    1. Дмитрий (автор)

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

  12. Redjek

    Дим, чесно, хз, тестил на голом чистом вп и шаблоне, тока грави форма =\. Пока ковырял этот плагин, возник другой вопрос, да вот пользователь оправляет посты, они постяться, все норм.. Но не подскажете как сделать нопример отдельную страницу для пользователя, где будут именно его посты, где он может их редактировать удалять и тд. Для одного пользователя, да я сделал, все нормально, через Them My Login Есть эта страница (пункт) но чтобы так сделать плясать с бубном приходятся долго..

  13. Redjek

    Нашел что искал =)! плагин Frontier Post Дмитрий, спасибо за статью, и поддержку читателей

    1. Дмитрий (автор)

      Да не за что, собственно..

  14. Роман

    А подскажите как и можно ли с помощью Gravity forms и подобных для составления форм, изменить или полностью переделать форму комментариев, добавить поля или убрать, про убрать видел у вас есть статью, но меня интересует именно расширения форм для ввода комментария.

    1. Дмитрий (автор)

      Насколько я знаю, Gravity Forms не работает с формами комментариев, поэтому, к сожалению, для этого придется ставить другие плагины.

  15. Колян

    Здравствуйте, почему-то при использовании этих плагинов изображение не прикрепляется к статье. То есть форма через фронтенд позволяет прикрепить фото, в библиотеке медиафайлов фото появляется, а в статье изображения нету( Как быть?

    1. Дмитрий (автор)

      Про добавление изображений автор писал следующее:

      «NOTE that this plugin attaches uploaded images as custom fields to submitted posts. Attached images are not displayed automatically in posts, but rather may be displayed using template tags, either WP’s built-in tags or the USP template tags (explained below). This provides maximum flexibility in terms of customizing the display of uploaded images.»

      Также он давал инструкцию, как сделать, чтобы изображения выводились:

      1) Open your theme’s single.php file
      2) Add the following code just beneath the_content()

       <?php if (function_exists('usp_post_attachments')) {
      usp_post_attachments('thumbnail', '<img src="', '" alt="" />', 99);
      } ?>
      

      3) Save the changes and upload to the server

  16. Колян

    Дмитрий, большое спасибо

  17. Дмитрий

    Доброе время суток. Прочитал в вашем описании к User Submitted Posts такую строчку: «…вы можете установить тот тип контента…». Если я правильно понял, то создав пользовательский тип записи типа «Контент», я могу настроить, что бы пользователи создавали не стандартный пост типа «Запись», а мой тип записи. Если я правильно понял, то подскажите, как это настроить. Заранее благодарен.

    1. Дмитрий (автор)

      Нет, сам плагин не позволяет добавлять таксономии.

      Это уже делается с помощью плагина Gravity Forms. Он описан далее в статье. Но он платный.

  18. Ирина

    Здравствуйте. Мне нужно чтобы пользователи могли добавлять статьи самостоятельно на сайт. Через регистрацию пусть. Но публикация должна пройти модерацию.
    Статья должна состоять из текста и картинок. Есть такие плагины? Подскажите пожалуйста

    1. Дмитрий (автор)

      https://wordpress.org/plugins/user-submitted-posts/ — один из топовых плагинов.

      Также можно через плагин форм или вообще без плагинов, что и описано в статье.

Добавить комментарий для Дмитрий Алёшин Отменить ответ

Получать новые комментарии по электронной почте.