Я думаю, вы пытаетесь отправить еще одно электронное письмо после успешной отправки контактной формы 7. Вы можете сделать это через доступный хук wpcf7 в бэкэнде. wpcf7_mail_sent
Примечание. Необходимо получить необходимые данные cookie и динамически включить их в форму в виде скрытого поля, используя javascript, чтобы они были включены в отправленную форму, которую вы можете получить на сервере.
//you can place this in your functions.php
add_action('wpcf7_mail_sent', function ($cf7) {
//do what you want here like get the extra
});
Вот как я бы сделал это в бэкэнде, предполагая, что у меня уже есть данные из файла cookie, добавленные в качестве скрытого поля с использованием javascript / jquery, например. <input type="hidden" name="referral_code" />
внутри тега формы.
add_action('wpcf7_mail_sent', function ($cf7) {
$wpcf7 = WPCF7_ContactForm::get_current();
$submission = WPCF7_Submission::get_instance();
$posted_data = empty($submission) ? null : $submission>get_posted_data();
//assuming you are tracking a form with an id 1234
if($wpcf7->id() === 1234){
//not sure if this still works, if not you can simply use $_GET['referral_code']
if(isset($posted_data['referral_code'])){
$referralCode = $posted_data['referral_code'];
//...now from this point you can send an email or pass this info to another platform for tracking purposes.
}
}
});