WOOCS - Sélecteur de devise WooCommerce

Utilisation de l'API REST avec le sélecteur de devises woocommerce

À partir de la version 2.2.9/1.2.9 du plugin, il est apparu la possibilité d'utiliser la requête REST intégrée pour obtenir les données sur les devises du site : wp-json/woocs/v3/currency

WOOCS permet également à l'aide de son API de créer des demandes REST personnalisées, comme exemple ci-dessous qui permet d'obtenir tous les prix des produits de la boutique dans toutes ses devises (wp-json/woocs/v3/products/gbp): (ajouter le code suivant dans le fichier functions.php du thème wordpress actuel)

add_action('rest_api_init', function () { //Exemple : wp-json/woocs/v3/products/eur/ register_rest_route('woocs/v3', '/products/(?P .+)', array( 'methods' => 'GET', 'callback' => function($request) { global $WOOCS; $currency = strtoupper(sanitize_key($request['currency'])); $products_ids = wc_get_products([ 'return' => 'ids', ]); //*** $res = []; if (!empty($products_ids)) { $_REQUEST['woocs_raw_woocommerce_price_currency'] = $currency;// DOIT ÊTRE!! foreach ($products_ids as $product_id) { $product = wc_get_product($product_id); if ($WOOCS->default_currency === $currency) { $res[$product_id] = $product->get_price() ; } else { $res[$product_id] = $WOOCS->raw_woocommerce_price($product->get_price(), $product); } } } return $res; }, 'permission_callback' => '__return_true' )); });