【发布时间】:2021-07-12 21:58:12
【问题描述】:
我已经设置了带有 woo 变体样本的产品,变体已设置为复选框组,每个变体都有不同的价格,因此客户可以选择他们想要的产品,他们选择的每个变体的价格将被添加到总价中.它正在工作,我可以将计算出的价格添加到购物车中。但是如果没有选择变化,价格保持为 0 并以 0 作为小计添加到购物车,如果价格为零,我想阻止产品添加到购物车。
我试过了
add_filter( 'woocommerce_add_to_cart_validation', 'my_validate_add_cart_item', 10, 3 );
function my_validate_add_cart_item( $passed, $product_id, $quantity ) {
$amount = WC()->cart->subtotal;
if( $amount == 0 ) {
wc_add_notice( "Pls select a product", "error" );
$passed = false;
}
return $passed;
}
我已经尝试了以下
global $woocommerce;
$amount = WC()->cart->get_total('raw') ;
$amount1 = WC()->cart->subtotal;
$amount2 = $woocommerce->cart->cart_contents_total;
$amount3 = $woocommerce->cart->total;
$amount4 = WC()->cart->get_cart_contents_total();
$amount5 = WC()->cart->get_cart_subtotal();
$amount6 = WC()->cart->get_cart_total();
$amount7 = WC()->cart->cart_contents_total;
$amount8 = WC()->cart->get_displayed_subtotal();
但总金额始终为零,在添加到购物车之前无法获得小计。即使我选择了变体并且在产品页面上计算了总数(>0),总数也为零
【问题讨论】:
-
当我试图在我的functions.php中获取总价时,价格为零,即使我在产品页面上选择了一些变体,并且它显示了购物车中变体价格的总和结帐页面。
-
它发生在没有任何变化的简单产品上,我禁用了 ajax 以在模板中添加到购物车,并在 woocommerce 中禁用存档页面。无论我尝试什么,我都无法获得 functions.php 中的小计。我也会检查客户端。
-
我在停用插件后检查了它,当我将任何产品添加到购物车时,我无法在我的主题的functions.php中获得小计,它在购物车中完美显示了总数和结帐页面,但无法在functions.php中进行购物车验证,因为我无法获得小计。
标签: php wordpress woocommerce