public function prepare_item_for_response($post_type, $request)
{
$taxonomies = wp_list_filter(get_object_taxonomies($post_type->name, 'objects'), array('show_in_rest' => true));
$taxonomies = wp_list_pluck($taxonomies, 'name');
$base = !empty($post_type->rest_base) ? $post_type->rest_base : $post_type->name;
$data = array('capabilities' => $post_type->cap, 'description' => $post_type->description, 'hierarchical' => $post_type->hierarchical, 'labels' => $post_type->labels, 'name' => $post_type->label, 'slug' => $post_type->name, 'taxonomies' => array_values($taxonomies), 'rest_base' => $base);
$context = !empty($request['context']) ? $request['context'] : 'view';
$data = $this->add_additional_fields_to_object($data, $request);
$data = $this->filter_response_by_context($data, $context);
// Wrap the data in a response object.
$response = rest_ensure_response($data);
$response->add_links(array('collection' => array('href' => rest_url(sprintf('%s/%s', $this->namespace, $this->rest_base))), 'https://api.w.org/items' => array('href' => rest_url(sprintf('wp/v2/%s', $base)))));
/**
* Filters a post type returned from the API.
*
* Allows modification of the post type data right before it is returned.
*
* @since 4.7.0
*
* @param WP_REST_Response $response The response object.
* @param object $item The original post type object.
* @param WP_REST_Request $request Request used to generate the response.
*/
return apply_filters('rest_prepare_post_type', $response, $post_type, $request);
}