public function get_item($request)
{
$obj = get_post_type_object($request['type']);
if (empty($obj)) {
return new WP_Error('rest_type_invalid', __('Invalid post type.'), array('status' => 404));
}
if (empty($obj->show_in_rest)) {
return new WP_Error('rest_cannot_read_type', __('Cannot view post type.'), array('status' => rest_authorization_required_code()));
}
if ('edit' === $request['context'] && !current_user_can($obj->cap->edit_posts)) {
return new WP_Error('rest_forbidden_context', __('Sorry, you are not allowed to edit posts in this post type.'), array('status' => rest_authorization_required_code()));
}
$data = $this->prepare_item_for_response($obj, $request);
return rest_ensure_response($data);
}