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

Читать

Обработка шоткодов в Contact Form 7

Июль 22, 2017 г.

Плагин Contact Form 7 позволяет конструировать формы, создавая их шаблоны в специальном конструкторе. Это (+CSS) позволяет придать форме любой внешний ...

Читать

 

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

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



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