1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
<?php
use SIW\Data\Currency;
function siw_get_currencies() {
$currencies = wp_cache_get( "currencies", 'siw_currencies' );
if ( false !== $currencies ) {
return $currencies;
}
$data = siw_get_data( 'currencies' );
$data = wp_list_sort( $data, 'name' );
$data = array_column( $data , null, 'iso' );
$currencies = array_map(
function( $item ) {
return new Currency( $item );
},
$data
);
wp_cache_set( "currencies", $currencies, 'siw_currencies' );
return $currencies;
}
function siw_get_currency( string $currency ) {
$currencies = siw_get_currencies();
return $currencies[ $currency ] ?? false;
}