Я установил контактную форму 7 и хочу получить доступ к данным формы после или до отправки электронного письма. В идеале мне не нужно отправлять электронное письмо, мне просто нужны данные формы для заполнения custom fields
То, что я нашел до сих пор, это:
add_action('wpcf7_mail_sent', function ($cf7) {
// Run code after the email has been sent
echo $cf7;
die();
});
После добавления вышеуказанного действия к functions.php
действие формы никогда не завершается. Я хочу просмотреть данные, найти postID и создать настраиваемые поля.
Любая помощь приветствуется.
die() предотвращает запуск кода, удалите его, и он должен работать как обычно.
Теперь о данных from: вам нужно будет получить экземпляр формы, и тогда у вас будет доступ ко всем данным формы.
Вот пример
add_action('wpcf7_mail_sent', function ($cf7) {
$submission = WPCF7_Submission::get_instance();
if ($submission) {
$cf7_data = $submission->get_posted_data();
}
}
Теперь, поскольку все это происходит в бэкенде, вы не сможете повторить что-либо из этого, чтобы проверить, что вы получаете.
Для этого я использую функцию phps error_log. Вот фрагмент:
error_log(print_r($your_value_here, true), 3, __DIR__ . '/temp-log.txt');
error_log("\r\n\r\n", 3, __DIR__ . '/temp-log.txt');
Это создаст файл с именем temp-log.txt в корне вашей темы с данными, которые вы передали в error_log. Измените $your_value_here на то, что вам нужно.
Надеюсь, это поможет =]
Это сработало. Я также проверю временный файл журнала. Спасибо