woocommerce根据数量修改最终价格

时间:2016-01-15 04:18:51

标签: php wordpress woocommerce

我目前正在建立一个WooCommerce商店。 基本上这就是我想要实现的目标

“如果您订购一定数量的产品,例如产品”A“中的40件,然后再添加90件产品”B“,那么您订购了总共130件(购物车数量)等于130)

所以现在我的价格是根据您订购的件数而不是每件的价格。

因此,如果您订购80和80之间的任何数量150然后您只需支付50美元的固定价格(因此,如果您订购91或101或150,您的最终费用将为50美元)。

所以这只是一个例子,因为我想设置其他定价括号。

任何想法如何实现,我尝试了WooCommerce推荐的多个插件,但没有他们做我想要的。

非常感谢您的帮助......

1 个答案:

答案 0 :(得分:2)

最简单的是,这段代码可以满足您的要求:

function custom_price_function( $total, $cart ) {
    if( $cart->cart_contents_count <= 150 && $cart->cart_contents_count >= 80 )
        $total = 50;
    return $total;
}
add_filter( 'woocommerce_calculated_total', 'custom_price_function', 10, 2 );

您可以将其添加到主题functions.php文件或自定义插件代码中。它挂钩到购物车类class-wc-cart.php功能中的WooCommerce文件calculate_totals()中的过滤器。在编写本文时,此过滤器位于第1361行。

如果您查看该功能,您会看到其他可能有助于按您希望的方式计算总价的属性。例如,税费包含在$this->tax_total中使用custom_price_function()访问的$cart->tax_total变量中。