WP_REST_Taxonomies_Controller::prepare_item_for_response PHP Method

prepare_item_for_response() public method

Prepares a taxonomy object for serialization.
Since: 4.7.0
public prepare_item_for_response ( stdClass $taxonomy, WP_REST_Request $request ) : WP_REST_Response
$taxonomy stdClass Taxonomy data.
$request WP_REST_Request Full details about the request.
return WP_REST_Response Response object.
    public function prepare_item_for_response($taxonomy, $request)
    {
        $base = !empty($taxonomy->rest_base) ? $taxonomy->rest_base : $taxonomy->name;
        $data = array('name' => $taxonomy->label, 'slug' => $taxonomy->name, 'capabilities' => $taxonomy->cap, 'description' => $taxonomy->description, 'labels' => $taxonomy->labels, 'types' => $taxonomy->object_type, 'show_cloud' => $taxonomy->show_tagcloud, 'hierarchical' => $taxonomy->hierarchical, '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 taxonomy returned from the REST API.
         *
         * Allows modification of the taxonomy data right before it is returned.
         *
         * @since 4.7.0
         *
         * @param WP_REST_Response $response The response object.
         * @param object           $item     The original taxonomy object.
         * @param WP_REST_Request  $request  Request used to generate the response.
         */
        return apply_filters('rest_prepare_taxonomy', $response, $taxonomy, $request);
    }

Usage Example

 public function test_prepare_item()
 {
     $tax = get_taxonomy('category');
     $endpoint = new WP_REST_Taxonomies_Controller();
     $data = $endpoint->prepare_item_for_response($tax, new WP_REST_Request());
     $this->check_taxonomy_object($tax, $data);
 }
All Usage Examples Of WP_REST_Taxonomies_Controller::prepare_item_for_response