WP_REST_Posts_Controller::handle_status_param PHP Method

handle_status_param() protected method

Determines validity and normalizes the given status parameter.
Since: 4.7.0
protected handle_status_param ( string $post_status, object $post_type ) : string | WP_Error
$post_status string Post status.
$post_type object Post type.
return string | WP_Error Post status or WP_Error if lacking the proper permission.
    protected function handle_status_param($post_status, $post_type)
    {
        switch ($post_status) {
            case 'draft':
            case 'pending':
                break;
            case 'private':
                if (!current_user_can($post_type->cap->publish_posts)) {
                    return new WP_Error('rest_cannot_publish', __('Sorry, you are not allowed to create private posts in this post type.'), array('status' => rest_authorization_required_code()));
                }
                break;
            case 'publish':
            case 'future':
                if (!current_user_can($post_type->cap->publish_posts)) {
                    return new WP_Error('rest_cannot_publish', __('Sorry, you are not allowed to publish posts in this post type.'), array('status' => rest_authorization_required_code()));
                }
                break;
            default:
                if (!get_post_status_object($post_status)) {
                    $post_status = 'draft';
                }
                break;
        }
        return $post_status;
    }