WC_Marketplace_Updater::update_marketplace_suggestions
Fetches new marketplace data, updates wc_marketplace_suggestions.
Method of the class: WC_Marketplace_Updater{}
No Hooks.
Returns
null. Nothing (null).
Usage
$result = WC_Marketplace_Updater::update_marketplace_suggestions();
WC_Marketplace_Updater::update_marketplace_suggestions() WC Marketplace Updater::update marketplace suggestions code WC 10.3.3
public static function update_marketplace_suggestions() {
$data = get_option(
'woocommerce_marketplace_suggestions',
array(
'suggestions' => array(),
'updated' => time(),
)
);
$data['updated'] = time();
$request_data = array();
$allow_tracking = 'yes' === get_option( 'woocommerce_allow_tracking', 'no' );
if ( class_exists( 'WC_Marketplace_Suggestions' ) && WC_Marketplace_Suggestions::allow_suggestions() && $allow_tracking ) {
$request_data = self::add_personalization_data( $request_data );
}
$url = 'https://woocommerce.com/wp-json/wccom/marketplace-suggestions/2.0/suggestions.json';
// Add request data as query parameters if it exists.
if ( ! empty( $request_data ) ) {
$url = add_query_arg( $request_data, $url );
}
$request = wp_safe_remote_get(
$url,
array(
'user-agent' => 'WooCommerce/' . WC()->version . '; ' . get_bloginfo( 'url' ),
)
);
if ( is_wp_error( $request ) ) {
self::retry();
return update_option( 'woocommerce_marketplace_suggestions', $data, false );
}
$body = wp_remote_retrieve_body( $request );
if ( empty( $body ) ) {
self::retry();
return update_option( 'woocommerce_marketplace_suggestions', $data, false );
}
$body = json_decode( $body, true );
if ( empty( $body ) || ! is_array( $body ) ) {
self::retry();
return update_option( 'woocommerce_marketplace_suggestions', $data, false );
}
$data['suggestions'] = $body;
return update_option( 'woocommerce_marketplace_suggestions', $data, false );
}