Products
GG网络技术分享 2025-03-18 16:12 6
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 );
}
}
Demand feedback