Плагин для добавления дополнительных затрат каждый раз, когда пользователь покупает 5 из той же категории - PullRequest
0 голосов
/ 21 января 2019

Я работаю на сайте 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, и будет добавлена ​​дополнительная стоимость 200, потому что он достигнет 5 количества. Таким образом, его общая стоимость будет 700.

Если пользователь приобрел 10 из product 1, его общая сумма составит 1400 --- 1000 на общую сумму плюс 400 на дополнительную плату.

Есть ли плагин для этого типа метода? Любая помощь будет оценена. Спасибо.

1 Ответ

0 голосов
/ 21 января 2019

Этого можно добиться с помощью фильтра 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' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...