该插件可在用户每次购买5个相同类别的商品时增加额外费用

时间:2019-01-21 05:45:58

标签: wordpress woocommerce

我正在Woo Commerce网站上工作。我正在寻找一个插件,如果他购买了5个相同类别的产品,我可以在用户的​​总费用中增加一定的金额。

例如:

以下是我的产品类别:

Tray,Single

以下是示例产品:

product 1 - with a category of Tray

product 2 - with a category of Single

如果用户购买了5份prodcut 1订单,则其总金额将增加一笔额外费用。这是一个示例:

因此,如果用户尝试购买5中的product 1,则总价格为500,并且由于他达到{ {1}}个数量。因此,他的总费用为200

如果用户购买了5中的700,则其总金额为10 --- product 1,总金额为1400

此类型的方法是否有任何插件?任何帮助,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

这可以使用woocommerce_cart_calculate_fees过滤器来实现。下面是如何执行此操作的示例。

    function cp_add_custom_price( $cart_object ) {

            global $woocommerce;
            $specialfeecat = 19; // Here add your category id which is used for additional fees.
            $catcount=0;
            foreach ( $cart_object->cart_contents as $key => $value ) {

            $proid = $value['product_id']; //get the product id from cart
                    $quantiy = $value['quantity']; //get quantity from cart

                    $terms = get_the_terms( $proid, 'product_cat' ); //get taxonamy of the prducts
                    if ( $terms && ! is_wp_error( $terms ) ) :
                            foreach ( $terms as $term ) {
                                    $catid = $term->term_id;
                                    if($specialfeecat == $catid ) {
                                        $catcount +=$quantiy;
                                    }
                            }
                    endif;  
            }

        $finalcount = ceil($catcount/5); // Here 5 is used to divide the products quantity
        $finalcount = $finalcount*200;
            if($finalcount > 0 ) {

                    $woocommerce->cart->add_fee( 'Special fee', $finalcount, true, 'standard' ); // add fess
            }

    }

    add_action( 'woocommerce_cart_calculate_fees', 'cp_add_custom_price' );