Я новичок в Wordpress, поэтому, пожалуйста, прости меня и исправь любую ошибку, которую я совершаю, я готов учиться и совершенствоваться :)
Я создал несколько контактных форм для подачи заявки на курсы фитнеса. Люди должны заполнить их, и я получаю письмо с их письменными данными.
Сейчас я пытаюсь выполнить код PHP, который записывает данные в базу данных MySQL всякий раз, когда пользователь правильно заполняет и отправляет контактную форму.
Мне также нужно, чтобы каждая контактная форма имела уникальный код, «привязанный» к ней, потому что коду PHP нужен этот код для записи данных в базу данных. (проще говоря, каждый курс имеет свой уникальный код, который мне нужно записать в базу данных вместе с данными пользователя).
Насколько я понимаю, мне нужно использовать add_action( 'wpcf7_before_send_mail', 'my_function' );
во фрагменте внутри functions.php. Сейчас я пытаюсь добиться того, чтобы этот код прикреплялся к каждой контактной форме (но он не должен быть виден пользователям), чтобы мой фрагмент php читал этот код и правильно редактировал базу данных.
Есть подсказка, где искать? Мне не нужен написанный код, только некоторые идеи!
Заранее спасибо, всем хорошего дня.
РЕДАКТИРОВАТЬ: Я обнаружил, что в CF7 есть "скрытые поля". Итак, я добавил их в свою тестовую контактную форму:
[hidden idcorso "6"]
[hidden idgruppo "0"]
Тогда я использую этот фрагмент, но он не работает:
add_action( 'wpcf7_before_send_mail', 'process_contact_form_data' );
function process_contact_form_data( $contact_data ){
$idcorso = $contact_data->posted_data["idcorso"];
$idgruppo = $contact_data->posted_data["idgruppo"];
if (is_user_logged_in()) {
$idutente = get_current_user_id();
$data = current_time('d-m-Y - g:i');
$stato = 1;
$wpdb->insert("fis_iscrizioni_2018", array('id_utente' => $idutente, 'id_corso' => $idcorso, 'data' => $data, 'stato' => $stato, 'id_gruppo' => $idgruppo) );
}
}
Есть подсказка?