简体   繁体   中英

Matching $_POST key and ACF field name (Wordpress)

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" />

Acf Fields

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM