FOX - Currency Switcher for WooCommerce

Verwendung der REST-API mit dem WooCommerce Currency Switcher

Ab Plugin-Version 2.2.9/1.2.9 besteht die Möglichkeit, eine integrierte REST-Anfrage zu nutzen, um die Währungsdaten der Website abzurufen: wp-json/woocs/v3/currency Außerdem ermöglicht WOOCS die Erstellung eigener benutzerdefinierter REST-Anfragen über seine API, wie im folgenden Beispiel, mit dem Sie alle Produktpreise des Shops in allen seinen Währungen abrufen können (wp-json/woocs/v3/products/gbp): (Fügen Sie den folgenden Code in die Datei functions.php des aktuellen WordPress-Themes ein)
add_action('rest_api_init', function () {
    //Example: wp-json/woocs/v3/products/eur/
    register_rest_route('woocs/v3', '/products/(?P<currency>.+)', 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;//MUST BE!!
                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'
    ));
});