WC_Admin_Addons::get_extension_data()
Call API to get extensions
Method of the class: WC_Admin_Addons{}
Hooks from the method
Return
Object|WP_Error
. Object with products and promotions properties, or WP_Error
Usage
$result = WC_Admin_Addons::get_extension_data( $category, $term, $country );
- $category(string) (required)
- Addon (sub) category.
- $term(string) (required)
- Search terms.
- $country(string) (required)
- Store country.
WC_Admin_Addons::get_extension_data() WC Admin Addons::get extension data code WC 7.5.1
public static function get_extension_data( $category, $term, $country ) { $parameters = self::build_parameter_string( $category, $term, $country ); $headers = array(); $auth = WC_Helper_Options::get( 'auth' ); if ( ! empty( $auth['access_token'] ) ) { $headers['Authorization'] = 'Bearer ' . $auth['access_token']; } $raw_extensions = wp_safe_remote_get( 'https://woocommerce.com/wp-json/wccom-extensions/1.0/search' . $parameters, array( 'headers' => $headers, 'user-agent' => 'WooCommerce/' . WC()->version . '; ' . get_bloginfo( 'url' ), ) ); if ( is_wp_error( $raw_extensions ) ) { do_action( 'woocommerce_page_wc-addons_connection_error', $raw_extensions->get_error_message() ); return $raw_extensions; } $response_code = (int) wp_remote_retrieve_response_code( $raw_extensions ); if ( 200 !== $response_code ) { do_action( 'woocommerce_page_wc-addons_connection_error', $response_code ); return new WP_Error( 'error', sprintf( esc_html( /* translators: Error code */ __( 'Our request to the search API got response code %s.', 'woocommerce' ) ), $response_code ) ); } $addons = json_decode( wp_remote_retrieve_body( $raw_extensions ) ); if ( ! is_object( $addons ) || ! isset( $addons->products ) ) { do_action( 'woocommerce_page_wc-addons_connection_error', 'Empty or malformed response' ); return new WP_Error( 'error', __( 'Our request to the search API got a malformed response.', 'woocommerce' ) ); } return $addons; }