WC_REST_Product_Variations_Controller::prepare_object_for_response()
Prepare a single variation output for response.
Method of the class: WC_REST_Product_Variations_Controller{}
Hooks from the method
Return
WP_REST_Response
.
Usage
$WC_REST_Product_Variations_Controller = new WC_REST_Product_Variations_Controller(); $WC_REST_Product_Variations_Controller->prepare_object_for_response( $object, $request );
- $object(WC_Data) (required)
- Object data.
- $request(WP_REST_Request) (required)
- Request object.
WC_REST_Product_Variations_Controller::prepare_object_for_response() WC REST Product Variations Controller::prepare object for response code WC 9.6.0
public function prepare_object_for_response( $object, $request ) { $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = array( 'id' => $object->get_id(), 'type' => $object->get_type(), 'date_created' => wc_rest_prepare_date_response( $object->get_date_created(), false ), 'date_created_gmt' => wc_rest_prepare_date_response( $object->get_date_created() ), 'date_modified' => wc_rest_prepare_date_response( $object->get_date_modified(), false ), 'date_modified_gmt' => wc_rest_prepare_date_response( $object->get_date_modified() ), 'description' => wc_format_content( $object->get_description() ), 'permalink' => $object->get_permalink(), 'sku' => $object->get_sku(), 'global_unique_id' => $object->get_global_unique_id(), 'price' => $object->get_price(), 'regular_price' => $object->get_regular_price(), 'sale_price' => $object->get_sale_price(), 'date_on_sale_from' => wc_rest_prepare_date_response( $object->get_date_on_sale_from(), false ), 'date_on_sale_from_gmt' => wc_rest_prepare_date_response( $object->get_date_on_sale_from() ), 'date_on_sale_to' => wc_rest_prepare_date_response( $object->get_date_on_sale_to(), false ), 'date_on_sale_to_gmt' => wc_rest_prepare_date_response( $object->get_date_on_sale_to() ), 'on_sale' => $object->is_on_sale(), 'status' => $object->get_status(), 'purchasable' => $object->is_purchasable(), 'virtual' => $object->is_virtual(), 'downloadable' => $object->is_downloadable(), 'downloads' => $this->get_downloads( $object, $context ), 'download_limit' => '' !== $object->get_download_limit() ? (int) $object->get_download_limit() : -1, 'download_expiry' => '' !== $object->get_download_expiry() ? (int) $object->get_download_expiry() : -1, 'tax_status' => $object->get_tax_status(), 'tax_class' => $object->get_tax_class( $context ), 'manage_stock' => $object->managing_stock(), 'stock_quantity' => $object->get_stock_quantity(), 'stock_status' => $object->get_stock_status(), 'backorders' => $object->get_backorders(), 'backorders_allowed' => $object->backorders_allowed(), 'backordered' => $object->is_on_backorder(), 'low_stock_amount' => '' === $object->get_low_stock_amount() ? null : $object->get_low_stock_amount(), 'weight' => $object->get_weight(), 'dimensions' => array( 'length' => $object->get_length(), 'width' => $object->get_width(), 'height' => $object->get_height(), ), 'shipping_class' => $object->get_shipping_class(), 'shipping_class_id' => $object->get_shipping_class_id(), 'image' => $this->get_image( $object, $context ), 'attributes' => $this->get_attributes( $object ), 'menu_order' => $object->get_menu_order(), 'meta_data' => $object->get_meta_data(), 'name' => wc_get_formatted_variation( $object, true, false, false ), 'parent_id' => $object->get_parent_id(), ); $data = $this->add_additional_fields_to_object( $data, $request ); $data = $this->filter_response_by_context( $data, $context ); if ( $this->cogs_is_enabled() ) { $this->add_cogs_info_to_returned_product_data( $data, $object ); } $response = rest_ensure_response( $data ); $response->add_links( $this->prepare_links( $object, $request ) ); /** * Filter the data for a response. * * The dynamic portion of the hook name, $this->post_type, * refers to object type being prepared for the response. * * @since 4.5.0 * @param WP_REST_Response $response The response object. * @param WC_Data $object Object data. * @param WP_REST_Request $request Request object. */ return apply_filters( "woocommerce_rest_prepare_{$this->post_type}_object", $response, $object, $request ); }