Przeliczanie waluty w koszyku

Dość ciekawe zagadnienie. Klient zażyczył sobie, aby w koszyku było pokazane przeliczenie wartości zamówienia na inne waluty. Wykorzystaliśmy w tym przypadku wcześniej stworzony kod pobierający aktualne kursy walut ze strony NBP poprzez API.

$waluty = array (
    'EURO'  =>  'eur', 
    'USD'   =>  'usd', 
    'GBP'   =>  'gbp'
);

add_action('woocommerce_cart_totals_after_order_total', 
    function() use ( $waluty ) { 
        przeliczenie_waluty( $waluty ); 
    }
);

function przeliczenie_waluty( $waluty ) {
    
    $amount = WC()->cart->total;
    echo '<table>';
    foreach($waluty as $key => $value) {

        $dane = file_get_contents('http://api.nbp.pl/api/exchangerates/rates/a/'. $value .'/?format=json');
        $json = json_decode($dane);
        $mid_kurs = $json->rates[0]->mid;

        $price = $amount / $mid_kurs;
        echo 
            '<tr>
                <th>Suma w ' .$key. '</th>
                <td><strong><span>' . round($price, 2) . '</span><bdi> '. $key.'</bdi></strong></td>
            </tr>';
    }
    echo '</table>';
}
Przewijanie do góry