【问题标题】:Check applied coupons before adding a fee in Woocommerce在 Woocommerce 中添加费用之前检查应用的优惠券
【发布时间】:2019-04-30 05:47:15
【问题描述】:

我正在使用一些代码在 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 语句,但是这显示了是否有优惠券的费用。所以我被卡住了,非常感谢任何帮助!

谢谢

【问题讨论】:

  • 优惠券从不扣除费用......它们仅适用于购物车内容(购物车物品)......

标签: php wordpress woocommerce cart fee


【解决方案1】:

您的代码有点过时,您需要在函数中添加 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 文件中。经过测试并且可以工作。

注意:优惠券折扣仅适用于购物车商品。他们不在乎费用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 2019-07-29
    • 2018-01-24
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多