Cena produktu při změně měny ve WPML - Affinite.io CZ

Dnešní snippet je zde především proto, abych jej našel, až jej budu někdy potřebovat. Což asi nebude tak často.

Snippet řeší získání aktuální ceny produktu ve WooCommerce, pokud máte na eshopu více měn a používáte WPML a jejich WooComerce Multilingual.

Nejprve musíme získat cenu produktu a k tomu využijeme get_price, metodu abstraktní třídy WC_Product. Já ve snippetu nemám k dispozici objekt produktu, takže jej musím vytvářet, ale pokud jej vy máte, tak jej znovu nevytvářejte.

$product = new WC_Product($product_id);
$price = $product->get_price();

To je poměrně jednoduchá věc a i získání ceny dle aktuální měny je jednoduché, jen se to špatně hledá. WPML má totiž filter „wcml_raw_price_amount“, který to za vás obstará.

$current_price = apply_filters( 'wcml_raw_price_amount', $price );

Cena, kterou dostanete, je však v číselném formátu, což mě v tomto případě vyhovovalo. Pokud by jste ji chtěli vypsat na webu, museli by jste ji ještě přeformátovat, o což se postará funkce wc_price()

echo wc_price($current_price);

A toť vše.

Off page SEO zpětné odkazy a pozice ve vyhledávačích ve WordPressu
Off page SEO zpětné odkazy a pozice ve vyhledávačích ve WordPressu
23 Kvě, 2015
Hookr.io největší databáze funkcí a hooků pro WordPress
Hookr.io největší databáze funkcí a hooků pro WordPress
27 Kvě, 2015

Looking for something?