I have a contact form called Check In
that I want to store in the table wpxo_checkin_forms
. The columns are: userid
, firstname
, lastname
, weight
, checkindate
, energylevel
(3 radio button options), missmeal
(two radio button options), and missworkout
(two radio button options).
I found this code here that I tried to modify and put in my child theme's function.php, but when I submit the form, it does not save in the wpxo_checkin_forms
table.
What am I doing wrong here?
add_action( 'wpcf7_submit', 'SE_379325_forward_cf7', 10, 2 );
function SE_379325_forward_cf7( $form, $result ) {
if ( ! class_exists( 'WPCF7_Submission' ) ) {
return;
}
$submission = WPCF7_Submission::get_instance();
if ( 'mail_sent' === $result['status'] ) { // proceed only if email has been sent.
$posted_data = $submission->get_posted_data();
save_posted_data( $posted_data, $form->id );
}
}
// your insert function.
function save_posted_data( $posted_data, $form_id ) {
if ( 1522 !== $form_id ) {
global $wpdb;
$wpdb->insert(
$wpdb->prefix . 'wpxo_checkin_forms',
array(
'userid' => $posted_data['userid'],
'firstname' => $posted_data['first-name'],
'lastname' => $posted_data['last-name'],
'checkindate' => $posted_data['checkin-date'],
'weight' => $posted_data['weight'],
'energylevel' => $posted_data['energy-level'],
'missmeal' => $posted_data['miss-meal'],
'missworkout' => $posted_data['miss-workout']
),
array( '%s' )
);
}
}```
The following code should work:
add_action( 'wpcf7_submit', 'SE_379325_forward_cf7', 10, 2 );
function SE_379325_forward_cf7( $form, $result ) {
if ( ! class_exists( 'WPCF7_Submission' ) ) {
return;
}
$submission = WPCF7_Submission::get_instance();
if ( 'mail_sent' === $result['status'] ) { // proceed only if email has been sent.
$posted_data = $submission->get_posted_data();
save_posted_data( $posted_data, $form->id );
}
}
// your insert function.
function save_posted_data( $posted_data, $form_id ) {
if ( 1522 !== $form_id ) {
global $wpdb;
$wpdb->insert(
$wpdb->prefix . 'checkin_forms',
array(
'userid' => $posted_data['userid'],
'firstname' => $posted_data['first-name'],
'lastname' => $posted_data['last-name'],
'checkindate' => $posted_data['checkin-date'],
'weight' => $posted_data['weight'],
'energylevel' => $posted_data['energy-level'],
'missmeal' => $posted_data['miss-meal'],
'missworkout' => $posted_data['miss-workout']
)
);
}
}