Last active
July 16, 2021 08:12
-
-
Save iyut/68bae104e7b0e6695554531ff437a1ce to your computer and use it in GitHub Desktop.
Manipulate WC Order REST API Response
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Add the barcode URL in REST API responses. | |
* @since 1.3.24 | |
* @param object $response WP_REST_Response | |
* @param object $object Order Object | |
* @param object $request The request made to WC-API | |
* @return object $response | |
*/ | |
function add_barcode_url_in_api_response ( $response, $object, $request ) { | |
if ( is_a( $response, 'WP_REST_Response' ) && is_a( $object, 'WC_Order' ) ) { | |
$barcode_url = $this->barcode_url( $object->get_id() ); | |
if ( ! empty( $barcode_url ) ) { | |
$response->data['barcode_url'] = $barcode_url; | |
} | |
} | |
return $response; | |
} | |
add_filter( 'woocommerce_rest_prepare_shop_order_object', 'add_barcode_url_in_api_response', 30, 3 ); | |
/** | |
* Remove the _barcode_image metadata from REST API responses. | |
* @since 1.3.1 | |
* @param object $response WP_REST_Response | |
* @param object $object Order Object | |
* @param object $request The request made to WC-API | |
* @return object $response | |
*/ | |
function remove_barcode_from_api_response ( $response, $object, $request ) { | |
if ( is_a( $response, 'WP_REST_Response' ) && isset( $response->data['meta_data'] ) ) { | |
if ( 0 < count( $response->data['meta_data'] ) ) { | |
foreach ( $response->data['meta_data'] as $k => $v ) { | |
if ( '_barcode_image' == $v->key ) { | |
unset( $response->data['meta_data'][$k] ); | |
} | |
} | |
} | |
} | |
return $response; | |
} | |
add_filter( 'woocommerce_rest_prepare_shop_order_object', 'remove_barcode_from_api_response', 30, 3 ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment