Задача: после отправки данных через форму популярного плагина Contact Form 7 необходимо получить ID страницы с которой сообщение было отправлено. Форма размещалась на нескольких сотнях страниц.
Решение:
В functions.php к хуку wpcf7_before_send_mail прикрепляем функцию
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
add_action("wpcf7_before_send_mail", "wpcf7_do_something_else"); function wpcf7_do_something_else( $cf7 ) { $submission = WPCF7_Submission::get_instance(); $wpcf7 = WPCF7_ContactForm::get_current(); if ($submission) { $posted_data = $submission->get_posted_data(); if ($posted_data[_wpcf7] == 5){ //print_r($posted_data); //$result = $posted_data['your-url']; } else{ $result = true; } } return $result; } |
В массиве $posted_data содержатся данные отправленной формы:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Array ( [_wpcf7] => 5 [_wpcf7_version] => 5.1.1 [_wpcf7_locale] => ru_RU [_wpcf7_unit_tag] => wpcf7-f5-p33-o1 [_wpcf7_container_post] => 33 //номер страницы [g-recaptcha-response] => [your-name] => Alex [your-email] => alex545345@mail.ru [your-url] => http://privet.com [your-message] => 1111111112222222233 ) |
Свежие комментарии