WC_REST_Product_Categories_Controller::prepare_item_for_response()
Prepare a single product category output for response.
Method of the class: WC_REST_Product_Categories_Controller{}
Hooks from the method
Return
WP_REST_Response
.
Usage
$WC_REST_Product_Categories_Controller = new WC_REST_Product_Categories_Controller(); $WC_REST_Product_Categories_Controller->prepare_item_for_response( $item, $request );
- $item(WP_Term) (required)
- Term object.
- $request(WP_REST_Request) (required)
- Request instance.
WC_REST_Product_Categories_Controller::prepare_item_for_response() WC REST Product Categories Controller::prepare item for response code WC 9.5.1
public function prepare_item_for_response( $item, $request ) { // Get category display type. $display_type = get_term_meta( $item->term_id, 'display_type', true ); // Get category order. $menu_order = get_term_meta( $item->term_id, 'order', true ); $data = array( 'id' => (int) $item->term_id, 'name' => $item->name, 'slug' => $item->slug, 'parent' => (int) $item->parent, 'description' => $item->description, 'display' => $display_type ? $display_type : 'default', 'image' => null, 'menu_order' => (int) $menu_order, 'count' => (int) $item->count, ); // Get category image. $image_id = get_term_meta( $item->term_id, 'thumbnail_id', true ); if ( $image_id ) { $attachment = get_post( $image_id ); $data['image'] = array( 'id' => (int) $image_id, 'date_created' => wc_rest_prepare_date_response( $attachment->post_date ), 'date_created_gmt' => wc_rest_prepare_date_response( $attachment->post_date_gmt ), 'date_modified' => wc_rest_prepare_date_response( $attachment->post_modified ), 'date_modified_gmt' => wc_rest_prepare_date_response( $attachment->post_modified_gmt ), 'src' => wp_get_attachment_url( $image_id ), 'name' => get_the_title( $attachment ), 'alt' => get_post_meta( $image_id, '_wp_attachment_image_alt', true ), ); } $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = $this->add_additional_fields_to_object( $data, $request ); $data = $this->filter_response_by_context( $data, $context ); $response = rest_ensure_response( $data ); $response->add_links( $this->prepare_links( $item, $request ) ); /** * Filter a term item returned from the API. * * Allows modification of the term data right before it is returned. * * @param WP_REST_Response $response The response object. * @param object $item The original term object. * @param WP_REST_Request $request Request used to generate the response. */ return apply_filters( "woocommerce_rest_prepare_{$this->taxonomy}", $response, $item, $request ); }