I’m building a form using ContactForm7 that I need to post the submitted data into ACF field in new post when the user click submit button.
Here’s the preview of the array that I’ve got from the WPCF7_Submission::get_instance();
Array
(
[workshop-title] => DIY: Last-Minute Halloween Costume
[choose-schedule] => Array
(
[0] => DIY - Painting (3pm)
[1] => DIY - Crafting (8pm)
)
[workshop-name] => Test
[workshop-phone] => +1234
[workshop-email] => [email protected]
[workshop-payment-channels] => Array
(
[0] => BCA
)
[workshop-attach-payment-proof] => 1ffbfc8124cbd02b2933818458ff6acb
)
My question is, how can I manage the output of WPCF7_Submission::get_instance(); data to ACF selected field with newly created custom post? What function I can use and how to use it? 😀
Thank you.
*Update*
I successfully create a new post with wp_insert_post function.
The problem now, I can’t store the CF7 data in a specific ACF field. What should I do?
Here’s my current function:
add_action('wpcf7_mail_sent','save_my_form_data_to_my_cpt');
add_action('wpcf7_mail_failed','save_my_form_data_to_my_cpt');
function save_my_form_data_to_my_cpt($contact_form){
$submission = WPCF7_Submission::get_instance();
if (!$submission){
return;
}
$posted_data = $submission->get_posted_data();
$new_post = array();
$new_post['post_title'] = $posted_data['workshop-title'];
$new_post['post_type'] = 'my_custom_post_type';
$new_post['post_content'] = $posted_data['workshop-name'];
$new_post['post_status'] = 'publish';
//When everything is prepared, insert the post into your WordPress Database
$post_id = wp_insert_post($new_post))
return;
}
*UPDATE*
This documentation really solves my problem, thank you:
https://www.advancedcustomfields.com/resources/update_field/