Guest User

Untitled

a guest
Mar 19th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. add_filter( 'woocommerce_rest_prepare_product_object', 'custom_change_product_response', 20, 3 );
  2. add_filter( 'woocommerce_rest_prepare_product_variation_object', 'custom_change_product_response', 20, 3 );
  3.  
  4. function custom_change_product_response( $response, $object, $request ) {
  5. $variations = $response->data['variations'];
  6. $variations_res = array();
  7. $variations_array = array();
  8. $var = array();
  9. if ( ! empty( $variations ) && is_array( $variations ) ) {
  10. foreach ( $variations as $variation ) {
  11. $variation_id = $variation;
  12. $variation = new WC_Product_Variation( $variation_id );
  13. $variation_attributes = $variation->get_variation_attributes();
  14. $variations_res['variation_id'] = $variation_id;
  15. $variations_res['on_sale'] = $variation->is_on_sale();
  16. $variations_res['regular_price'] = (float) $variation->regular_price;
  17. $variations_res['sale_price'] = (float) $variation->sale_price;
  18. $variations_res['currency'] = get_woocommerce_currency_symbol();
  19. $variations_res['sku'] = $variation->get_sku();
  20. $variations_res['description'] = $variation->get_description();
  21. $variations_res['quantity'] = $variation->get_stock_quantity();
  22. if ( $variations_res['quantity'] == null ) {
  23. $variations_res['quantity'] = '';
  24. }
  25. $variations_res['in_stock'] = $variation->is_in_stock();
  26. $featured_image = wp_get_attachment_image_src( get_post_thumbnail_id( $variation_id ), 'shop_catalog' );
  27. $variations_res['variation_image'] = $featured_image[0];
  28. if ( $variations_res['variation_image'] == null ) {
  29. $variations_res['variation_image'] = " ";
  30. }
  31. foreach ( $variation_attributes as $key => $value ) {
  32. if ( $key == 'attribute_pa_color' ) {
  33. $variation_attributes[ $key ] = get_color_code_by_name( $value );
  34. }
  35. }
  36. $variations_res['variation_attributes'] = $variation_attributes;
  37. $variations_array[] = $variations_res;
  38. }
  39. }
  40. $response['product_variations'] = $variations_array;
  41. }
  42. return $response;
  43. }
Add Comment
Please, Sign In to add comment