Получение кода публикации, со страницы которой была отправлена форма WPCF7

В продолжение статьи о сохранении данных формы в БД в виде публикации в WP, я собираюсь рассказать о том как получить код публикации, со страницы которой была выполнена отправка данных формы.

Находясь внутри обработчика wpcf7_mail_sent, вы не сможете получить код публикации методами вроде get_the_ID(). Технически, мы находимся внутри ajax запроса на системный адрес, начинающийся как:

который никак не связан со страницей, где находится форма.

Нам придется опираться на данные, передаваемые $_SERVER[‘HTTP_REFERER’], и по ним уже найти объект WP post. К счастью, в богатом API WP есть нужная функция — get_page_by_path.

К примеру, вы разместили форму на всех страницах публикаций типа ‘products’. Тогда PHP код может выглядеть вот так:

Теперь можно сохранить ссылку на post, к примеру, в мета-поле.

Написать комментарий

Мало букафф? Читайте есчо !

Создание публикации по отправленным данным Contact form 7

Июнь 6, 2018 г.

Это продолжение статьи о сохранении данных формы WPCF7, где я рассказал о том зачем это может понадобиться и подходе к реализации. Здесь мы перейдем уже более техническим вещам, к коду. Итак, нам необходимо создать публикацию на основе данных, ...

Читать

Рихтуем вывод полей во flamingo CF7

Апрель 12, 2023 г.

Пользуюсь flamingo для протоколирования отправленных данных через Contact Form 7. Очень не удобно, что ссылки и сохраненные файлы выводятся как plain text. Но, мы это сейчас исправим! Поля flamingo выводит через функцию форматирования, которая ...

Читать

 

Комментарии к «Получение кода публикации, со страницы которой была отправлена форма WPCF7»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: