2015-05-05 19 views
5

Benim woocommerce eklenti sepetimin toplam fiyatını almak istiyorum.woocommerce - Sepet Sepetiniz Toplam

Şunun gibi bir float numarası almak istiyorum: 21.00 ama nasıl alacağımı bilmiyorum.

$total   = $woocommerce->cart->get_total(); 
$total_a  = WC()->cart->get_total(); 
$total1  = $woocommerce->cart->get_total_ex_tax(); 
$total1_a  = WC()->cart->get_total_ex_tax(); 
$total2  = $woocommerce->cart->get_cart_total(); 
$total2_a  = WC()->cart->get_cart_total(); 

çıkışlar: Benim kod bu benim tam kodu garip sonuçlar verir

0,00 € 
0,00 € 
0,00 € 
0,00 € 
21,00 € 
21,00 € 

ve ben sonucu yüzer dizesinden dönüştürmek eğer tabii 0.00 taşımaktadır.

Kartların toplamı, float numarası biçiminde nasıl elde edilir?

+1

Sepet sınıfına bakın. ['get_total()'] (https://github.com/woothemes/woocommerce/blob/master/includes/class-wc-cart.php#L1959) yöntemi, fiyatı wc_price() 'kullanarak biçimlendirir. Yani, José'nin işaret ettiği gibi, sadece kamu malına erişmeniz gerekiyor. – helgatheviking

+0

tebrik silindi – gsamaras

cevap

5

Hemen doğrudan total özelliğine erişmek, kamu açıklanmıştır:

global $woocommerce; 
echo $woocommerce->cart->total; 
+0

woocommerce sürüm 2.6.x veya daha yüksek ile çalışmıyor gibi görünüyor. başka yolun var mı – huykon225

3
global $woocommerce; 
$amount = $woocommerce->cart->cart_contents_total+$woocommerce->cart->tax_total; 

Ayrıca şartının şamandıra $ değerine miktarını dönüştürebilirsiniz.

1

Bu ve kusursuz çalışma gibi bir kod vardır:

if (! WC()->cart->prices_include_tax) { 
    $amount = WC()->cart->cart_contents_total; 
} else { 
    $amount = WC()->cart->cart_contents_total + WC()->cart->tax_total; 
} 

iyi şanslar!