高级自定义字段和前端发布

时间:2018-05-29 12:23:47

标签: php wordpress advanced-custom-fields

我创建了一个前端表单,用于创建一个新的自定义帖子类型单。反正有没有从这个表格更新ACF元?

<?php if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] )) {


    // Add the content of the form to $post as an array
    $post = array(
        'post_title'    => $description,
        'post_content'  => $description,
        'post_category' => 3,  // Usable for custom taxonomies too
        'post_status'   => 'private',           // Choose: publish, preview, future, etc.
        'post_type' => 'door', // Use a custom post type if you want to
        'post_parent' => $post->ID,
        'post_name' => 'service',
        'meta_key'      => 'archive_job',
        'meta_value'    => 'red',
    );
    wp_set_object_terms($pid, $_POST['terms'], 'child');
    wp_insert_post($post);  // Pass  the value of $post to WordPress the insert function
    global $wp;
    $current_url = home_url(add_query_arg(array(),$wp->request));
    wp_redirect( $current_url );

                    // http://codex.wordpress.org/Function_Reference/wp_insert_pos
} // end IF

// Do the wp_insert_post action to insert it
do_action('wp_insert_post', 'wp_insert_post', 'add_post_meta' , 'update_post_meta'); 

?>

1 个答案:

答案 0 :(得分:0)

ACF元数据作为基本custom field保存在数据库中。所以你可以使用add_post_meta()函数add_post_meta($ post_id,'field_name',$ field_value);在wp_insert_post之后($ post);功能

示例代码:

    $post = array(
        'post_title'    => $description,
        'post_content'  => $description,
        'post_category' => 3,  // Usable for custom taxonomies too
        'post_status'   => 'private',           // Choose: publish, preview, future, etc.
        'post_type' => 'door', // Use a custom post type if you want to
        'post_parent' => $post->ID,
        'post_name' => 'service',
        'meta_key'      => 'archive_job',
        'meta_value'    => 'red',
    );
    wp_set_object_terms($pid, $_POST['terms'], 'child');
    $post_id = wp_insert_post($post);  // Pass  the value of $post to WordPress the insert function
    add_post_meta($post_id, 'field_name', $field_value);
    global $wp;
    $current_url = home_url(add_query_arg(array(),$wp->request));
    wp_redirect( $current_url );