Создание поста на основе данных, внесенных в форму через плагин Contact Form 7 в WordPress

Все чаще сталкиваюсь с задачами, когда необходимо записать данные из формы в новый пост. Например, функционал вопросов-ответов на сайте, когда строим его на основе «один вопрос/ответ — один пост». 

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

Делать функционал будем на основе плагина Form to Post и его хуков + стандартный функционал WordPress по добавлению постов.

Все действия производим в файле functions.php, который находится в корне вашей темы, добавляя хуки.

  1. Устанавливаем плагин Contact Form 7
  2. Устанавливаем плагин Form to Post. Его функционал позволяет работать и без хуков в functions.php, но если нужно заполнить определенные поля, метаинформацию, то хуки необходимы
  3. Создаем два хука, в одном из них указали в какую категорию размещать пост и второй — статус поста. Эти поля можно передать напрямую в форме, но это не безопасно, т.к. злоумышленник сможет поменять эти значения.
    Второй хук заполняет мета поля, задает заголовок поста.

В целом, можно минуя хуки указать просто название полей в форме, такие как post_title, post_content, meta_email (Будет занесено в мета поле email) и другие (читайте документацию плагина). Хуки позволяют более детально настроить записываемые данные.

 


Комментарии к Создание поста на основе данных, внесенных в форму через плагин Contact Form 7 в WordPress (2)

  • Stanislav

    Приветствую. С форматами записей не сталкивался, но, думаю, можно посмотреть https://developer.wordpress.org/reference/functions/wp_insert_post/ и в функцию delfiFormToPostSetValues добавить параметр с форматом поста.

    Ответить

  • Alex Korneev

    А вот как прописать в функцию прикрепления к посту заполненной PDF формы (которое создает дополнение заполнятель PDF форм для Contact Form 7), в качестве миниатюры к посту, или прикрепленного изображения. Почему плагин POST TO FORM предупреждает о невозможности прикрепления изображения…?

    Ответить

Добавить комментарий

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

*
*