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

Июнь 6, 2018 г.

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

Читать

 

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

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



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