过滤以在结帐时检查数量

时间:2014-04-22 05:28:31

标签: wordpress woocommerce

如果可能的话,我有一个特定的功能我想用WooCommerce实现。有没有办法可以让WooCommerce检查购物车中的商品数量是否可以被12整除?

基本上我有一个商店设置,但我需要客户订购数量为12(这是我运送物品的箱子的大小)。但是,我有一些产品变化(尺寸,宽度等),我希望客户能够混合和匹配变化,以达到12(或24,36等)的数量

我认为最简单的方法是安装一个检查总购物车数量的功能,以及是否可被12整除。如果是这样,他们就可以继续了。如果没有,他们需要改变他们的数量继续。有没有人有经验,如果有适合这种需要的插件或者我可以添加一些自定义代码?

非常感谢任何帮助。

此致 莱恩

1 个答案:

答案 0 :(得分:1)

这应该适合你:

将以下内容添加到functions.php文件中,在结帐时它会检查并查看数量是否为12的倍数,如果是,那就没关系,如果没有,则会收到错误消息You need to buy in quantities of 12 products并且无法继续。

add_action( 'woocommerce_check_cart_items', 'woocommerce_check_cart_quantities' );
function woocommerce_check_cart_quantities() 
{
    global $woocommerce;
    $multiples = 12;
    $total_products = 0;
    foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) 
    {
        $total_products += $values['quantity'];
    }
    if ( ( $total_products % $multiples ) > 0 )
        $woocommerce->add_error( sprintf( __('You need to buy in quantities of %s products', 'woocommerce'), $multiples ) );
}

以上内容略有修改this帖子。