Change Cart total using Hooks in Woocommerce 3.2+

前端 未结 1 1428
陌清茗
陌清茗 2020-12-11 13:24

I want to add 300 to order total on woocommerce checkout page but woocommerce_calculate_totals hook doesn\'t do the job...

If I use var_dump($total), I see the corre

相关标签:
1条回答
  • 2020-12-11 14:11

    Since Woocommerce 3.2, the hook woocommerce_calculate_totals doesn't work for that.
    See explanations on this thread: Change Cart total price in WooCommerce

    You will have to use one of the following ways using:

    1) The filter hook woocommerce_calculated_total this way:

    add_filter( 'woocommerce_calculated_total', 'change_calculated_total', 10, 2 );
    function change_calculated_total( $total, $cart ) {
        return $total + 300;
    }
    

    2) The Fee API like:

    add_action( 'woocommerce_cart_calculate_fees', 'add_custom_fee', 10, 1 );
    function add_custom_fee ( $cart ) {
        if ( is_admin() && ! defined( 'DOING_AJAX' ) )
            return;
    
        $fee = 300;
    
        $cart->add_fee( __( 'Fee', 'woocommerce' ) , $fee, false );
    }
    

    Code goes in function.php file of your active child theme (or active theme) or also in any plugin file.

    0 讨论(0)
提交回复
热议问题