Wordpress Woocommerce:购物车总计显示1项为零

Wordpress Woocommerce:购物车总计显示1项为零,wordpress,woocommerce,cart,Wordpress,Woocommerce,Cart,我已经在我的站点标题中创建了一个链接,链接到购物车,包含当前的总数 它应该以以下方式显示购物车的当前总数和购物车中包含的项目数: [图标]1.20欧元-1篇文章 但是,只有在购物车页面中才能正确计算该值。例如,在主页上,它将仅显示如下: [图标]0.00欧元-1篇文章 这是我访问值的方式: $count = WC()->cart->cart_contents_count; WC()->cart->calculate_totals(); if($count > 0)

我已经在我的站点标题中创建了一个链接,链接到购物车,包含当前的总数

它应该以以下方式显示购物车的当前总数和购物车中包含的项目数:

[图标]1.20欧元-1篇文章

但是,只有在购物车页面中才能正确计算该值。例如,在主页上,它将仅显示如下:

[图标]0.00欧元-1篇文章

这是我访问值的方式:

$count = WC()->cart->cart_contents_count;
WC()->cart->calculate_totals();
if($count > 0)
{
    print "<a class='cart-contents' href='" . WC()->cart->get_cart_url();
    print "' title='Voir votre panier'>";
    print WC()->cart->get_total();
    print " - " . sprintf(_n('%d article', '%d articles', $count, 'woothemes'), $count);
    print "</a>";
}
$count=WC()->cart->cart\u contents\u count;
WC()->购物车->计算_总计();
如果($count>0)
{
打印“”;
}
如果我调用
WC()->cart->get_cart_total(),这将显示不含税的价格,即使我强制价格包含税

如何在整个站点上一致地获得正确的值

global $woocommerce;

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

您还可以根据需要将$amount转换为浮点数。

我也遇到了同样的问题,所以我查看了WooCommerce代码。在类
WC\u cart
中的函数
WC()->cart->calculate\u totals()
中,因为一段时间以前存在以下条件

// Only calculate the grand total + shipping if on the cart/checkout
if ( is_checkout() || is_cart() || 
     defined('WOOCOMMERCE_CHECKOUT') || defined('WOOCOMMERCE_CART') )
这个条件特别适用于计算
总数
,我不知道为什么。但这为您提供了适当的解决方法: 在需要显示总计的页面上,包括以下代码行之一:

define( 'WOOCOMMERCE_CART', true );

然后执行函数
WC()->cart->calculate_totals()

然后使用
WC()->cart->total
WC\u cart\u totals\u order\u total\u html()
(货币符号)

define( 'WOOCOMMERCE_CHECKOUT', true );