Проверьте примененные купоны перед добавлением комиссии в Woocommerce - PullRequest
0 голосов
/ 28 ноября 2018

Я использую некоторый код для добавления пользовательской комиссии при оформлении заказа в Woocommerce, однако при применении купона комиссия не вычитается.

Есть ли способ проверить, использовался ли купон, перед добавлением комиссии?Это любой купон, который не является конкретным.

Код до сих пор равен

global $woocommerce;

if (empty($woocommerce->cart->applied_coupons))  {

    add_action( 'woocommerce_cart_calculate_fees','endo_handling_fee' );
    function endo_handling_fee() {
         global $woocommerce;

         if ( is_admin() && ! defined( 'DOING_AJAX' ) )
              return;

         $fee = 1.50;
         $woocommerce->cart->add_fee( 'Transaction Fee', $fee, true, 'standard' );
    }

}

Итак, вы можете видеть, что я пытаюсь добавить оператор if для купонов, однако это показывает, будет ли платаесть купон или нет.Так что я застрял, любая помощь очень ценится!

Спасибо

1 Ответ

0 голосов
/ 28 ноября 2018

Ваш код немного устарел, и вам вместо этого нужно добавить оператор If в функцию:

add_action( 'woocommerce_cart_calculate_fees','endo_handling_fee', 10, 1 );
function endo_handling_fee( $cart ) {
     if ( is_admin() && ! defined( 'DOING_AJAX' ) )
          return;

     if ( sizeof( $cart->get_applied_coupons() ) > 0 )
          return;

     $fee = 1.50;
     $cart->add_fee( __("Transaction Fee"), $fee, true );
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Проверено и работает.

Примечание: Купонные скидки применяются только к товарам в корзине.Они не заботятся о сборах.

...