Получение кода публикации, со страницы которой была отправлена форма 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 - добавим галочку на согласие по обработке персональных данных

Июль 21, 2017 г.

Вступившие в силу поправки (с 01.07.2017) федерального закона ФЗ 152 "О защите персональных данных" требуют, чтобы владельцы сайтов информировали пользователя ...

Читать

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

Июнь 11, 2018 г.

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

Читать

 

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

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



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