I just wondering if anyone knew a possible way to match the input name submitted through $_POST with an acf field name.
I'm creating posts in a Wordpress CPT from a front end form via wp_insert_posts(). All of the fields in the frontend form need to be updated into individual acf fields.
I'm trying to automate the process instead of writing an update_field() for 40+ fields.
<input type="text" name="user_name" value="" placeholder="User Name" />
<input type="text" name="userquestion" value="" placeholder="User Question" />
For anyone in the future having this issue, here was my solution.
$acf_fields = array(
'user_name' => 'field_5ca80efacb9fb',
'userQuestion' => 'field_5ca80f19cb9fc',
'userQuestionAnswer' => 'field_5ca80f2acb9fd',
);
$new_post = array(
'post_title' => $_POST['user_name'],
'post_status' => 'publish',
'post_type' => 'entries'
);
$post_id = wp_insert_post($new_post);
foreach ( $_POST as $field_name => $value ) {
if( isset( $_POST[$field_name] ) ) {
update_field( $acf_fields[$field_name], $value, $post_id );
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.