Доступ к данным формы после отправки контактной формы 7

Я установил контактную форму 7 и хочу получить доступ к данным формы после или до отправки электронного письма. В идеале мне не нужно отправлять электронное письмо, мне просто нужны данные формы для заполнения custom fields

То, что я нашел до сих пор, это:

add_action('wpcf7_mail_sent', function ($cf7) {
    // Run code after the email has been sent
    echo $cf7;
    die();
});

После добавления вышеуказанного действия к functions.php действие формы никогда не завершается. Я хочу просмотреть данные, найти postID и создать настраиваемые поля.

Любая помощь приветствуется.

Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
1
0
417
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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 на то, что вам нужно.

Надеюсь, это поможет =]

Это сработало. Я также проверю временный файл журнала. Спасибо

William 21.12.2020 11:50

Другие вопросы по теме