OXPEHETb
@OXPEHETb

Как сохранить данные из Contact Form 7 в переменную?

Сильно не пинайте я экономист, который сам учится php на пробах и ошибках.

Есть сайт на WordPress. Стоит Contact Form 7.

Нашел решение, которое перехватывает данные из CF7. Оно работает и записывает данные в file.txt (таким образом смог проверить, что данные точно берутся). Т.е. перехват работает.

function your_wpcf7_mail_sent_function( $contact_form ) {
    $title = $contact_form->title;
    $posted_data = $contact_form->posted_data;
   
    if ('Форма заявки' == $title ) {
        $submission = WPCF7_Submission::get_instance();
        $posted_data = $submission->get_posted_data();

        $userName = $posted_data['uname'];
        $fp = fopen("file.txt", "w");
        fwrite($fp, $userName);
        fclose($fp);

    }
}
add_action( 'wpcf7_mail_sent', 'your_wpcf7_mail_sent_function' );


Хочется переменную $userName использовать в шаблоне, например в header.php, когда человек гуляет по страницам.

Пробовал просто <?php echo $userName;?> в header.php - не работает.

Как это можно сделать?
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
Kozack
@Kozack Куратор тега WordPress
Thinking about a11y
Если я не ошибаюсь, то данные из этой формы отправляются ajax-ом. Это значит, что фактически, на сервере эти данные существуют только при обработаке этого конкретного запроса.

Вы можете сохранить данные в мета поле пользователя, если он авторизован. Так данные будут закреплены за его профилем.

Или сохранить в сессию, так данные будут закреплены за конкретным клиентом и будут сброшены позже.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы