@Satiriconn

Изменить email получателя contact form7 исходя из get параметра в url?

Есть форма в contact form7.
Нужно чтоб эта форма проверяла условие,откуда отправляется сообщение (url c get параметрами) и добавляла еще один дополнительный эмейл куда это будет отправлено.
Есть страница с разными get параметрами на которой вставлена эта форма:
site.com/page&?key123
и
site.com/page&?key345
В зависимости от параметра key,должен быть другой получатель email. Делал кто то подобное?
  • Вопрос задан
  • 325 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Barmunk
Чтобы использовать свою логику при отправке формы, я использую такую цепочку:

1. Создаю новый шорткод, чтобы получить из формы нужную информацию в скрытых полях.
https://wordpress.stackexchange.com/questions/2918...

2. Создаю новую форму в contact from 7 и выключаю стандартную отправку на email с помощью флага demo-mode или skip_mail (можно и оставить, если сильно нужно)
https://contactform7.com/additional-settings/#demo-mode

3. Ставлю плагин forms-3rdparty-integration, который после субмита формы, отправит post запрос в произвольный скрипт. В нем уже ты описываешь всю твою бизнес-логику (smtp оправку почты в зависимости от get параметра, создание лидов в crm и так далее).
https://ru.wordpress.org/plugins/forms-3rdparty-in...

---
Так же можно использовать хук wpcf7_before_send_mail в functions.php, перехватить данные перед отправкой и что-то с ними сделать.
www.rcneil.com/change-the-form-recipient-in-contac...
https://contactform7.com/2020/07/28/accessing-user...

add_action( 'wpcf7_before_send_mail',
  function( $contact_form, &$abort, $submission ) {
    // Getting user input through the your-email field
    $your_email = $submission->get_posted_data( 'your-email' );
 
    // Getting user input through the your-message field
    $your_message = $submission->get_posted_data( 'your-message' );
 
    // Do some productive things here
  },
  10, 3
);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы