【问题标题】:on click add to cart button in woocommerce add 10% extra amount in each product点击 woocommerce 中的添加到购物车按钮,在每个产品中添加 10% 的额外金额
【发布时间】:2017-05-23 14:12:33
【问题描述】:

Woocommerce 产品详情页面:-

  • 我想加价。当点击“添加到购物车”按钮时。
  • 我希望能够完全覆盖产品价格

【问题讨论】:

    标签: woocommerce


    【解决方案1】:
    function calculate_eyehole_fee( $cart_object ) {  
        global $isProcessed;
        if( !WC()->session->__isset( "reload_checkout" )) {
    
            foreach ( $cart_object->cart_contents as $key => $value ) {
                $price = $cart_object->cart_contents[$key]['data']->price;
                $additionCost = $price * 10 / 100;
                $cart_object->cart_contents[$key]['data']->set_price($price + $additionCost);
            } 
            $isProcessed = true;  
        }
    }
    
    add_action( 'woocommerce_before_calculate_totals', 'calculate_eyehole_fee', 99 );
    

    【讨论】:

    • 它适用于静态值。我想使用产品价格页面中的动态价格。
    • 什么意思?此代码将在产品价格上增加 10% 的费用!
    • 我的意思是 10% 来自使用自定义隐藏字段的产品详细信息页面
    • 然后你可以得到自定义字段,我放了“* 10”并用该字段值替换金额。
    • 你不能在那里使用 $_POST。您必须将自定义数据添加到 woocommerce 会话才能做到这一点。并访问该 woocommmerce 更新的对象。
    【解决方案2】:
    add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
    
    function add_custom_price( $cart_object ) {
        $custom_price = 10; // This will be your custome price  
        foreach ( $cart_object->cart_contents as $key => $value ) {
            $value['data']->price = $custom_price;
        }
    }
    

    试试这个代码sn-p

    【讨论】:

      【解决方案3】:
      function calculate_extra10( $cart_object ) { 
      global $isProcessed;
      
      if( !WC()->session->__isset( "reload_checkout" )) {
      
      foreach ( $cart_object->cart_contents as $key => $value ) {
      
      $price = $cart_object->cart_contents[$key]['data']->price;
      
      $additionCost = $price * 10 / 100;
      
      $cart_object->cart_contents[$key]['data']->set_price($price + `$additionCost);`
      
      } 
      
      $isProcessed = true; 
      
      }
      }
      
      add_action( 'woocommerce_before_calculate_totals', 'calculate_extra10', 99 );
      

      【讨论】:

        猜你喜欢
        • 2023-04-10
        • 2018-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-04
        • 2017-02-11
        相关资源
        最近更新 更多