Approve users posts before publish

// Add the content to $post as an array

$post = array(
        'post_title'    => $title,
        'post_content'  => $description,
        'post_category' => $_POST['cat'],  // Usable for custom taxonomies too
        'tags_input'    => $tags,
        'post_status'   => 'draft',         // Choose: publish, preview, future, etc.
        'post_type' => $_POST['post_type']  // Use a custom post type if you want to
    );
wp_insert_post($post);  // Pass  the value of $post to WordPress the insert function