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

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

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

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

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

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

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

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

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

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

Апрель 12, 2023 г.

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

Читать

Сохранение изображения (файла) из WPCF7

Июнь 11, 2018 г.

Еще одна задача, связанная с сохранением данных формы WP Contact Form 7 в базе WP, это загрузка и сохранение файла (обычно - изображения). Особенность работы WPCF7, заключается в том, что загруженный через форму временный файл, плагин переносит ...

Читать

 

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

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



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