doubeng1278
2019-04-05 02:13
浏览 38
已采纳

匹配$ _POST键和ACF字段名称(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

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doumao6048 2019-04-18 09:54
    已采纳

    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 );
        }
    }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题