在WooCommerce中设置最大购买总数

问题描述

我正在尝试在WooCommerce购物车中设置最大购买总额。 (背景:我想禁止在这种情况下使用100%优惠券的人在他们的购物车中添加更多产品。)

这是我改编自here代码


// Weitere Einkäufe verhindern

add_action( 'woocommerce_check_cart_items','cldws_set_max_total');
function cldws_set_max_total() {
    // Only run in the Cart or Checkout pages
    if( is_cart() || is_checkout() ) {
        global $woocommerce;
        // Set maximum cart total
        $max_cart_total = 1;
        // A maximum of 1 € is required before checking out.

        $total = WC()->cart->totals;
        // Compare values and add an error is Cart's total
        if( $total >= $max_cart_total  ) {
        // display our error message
            wc_add_notice( sprintf( '<strong>Bitte lege nicht mehr Stränge in den Warenkorb als du beim Crowdfunding bestellt hast.</strong> Die genaue Anzahl findest du in der E-Mail mit dem Gutscheincode. '),'error' );
        }
    }
}

这是它应该做的:

在检查它仅在购物车和结帐页面上运行并设置最大值后,总计金额为1欧元,我查询购物车的总计并将其与该最大值进行比较。如果总数大于最大值。允许的总数,则显示错误消息。

我怀疑我用“ totals”查询错误的变量,但是应该是一个变量,即折扣后的购物车总价值。我也尝试过“ get_cart_total()”,但这没有帮助。 I've also looked at this,but don't get why replacing WC() for $woocommerce should help.

非常感谢您的帮助!

解决方法

结果替换

WC()->cart->get_cart_total();

使用

$woocommerce->cart->total;

实际上可以解决问题。但是我不明白为什么。 :-D

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...