WooCommerce - Adding shipping fee for free user plan

后端 未结 1 688
小鲜肉
小鲜肉 2021-01-21 12:54

I am using WooCommerce and with Paid Memberships Pro free plugin.

On the web site we have 2 plans (a free plan and a paid plan):

  • Free users can buy 1 item
相关标签:
1条回答
  • 2021-01-21 13:21

    Since WooCommerce 2.6+, shipping has been remodeled, and is quite complicated to customize it as you would like, without a plugin… Instead you do, is adding a fee based on your user levels and other conditions if needed.

    Here is my code:

    function add_shipping_fee( ) {
    
        // Set here your shipping fee amount
        $fee = 4;
    
        if ( is_admin() && ! defined( 'DOING_AJAX' ) )
            return;
    
        if ( pmpro_hasMembershipLevel('2') == false)
            WC()->cart->add_fee( __('Shipping Fee:', 'your_theme_slug'), $fee, false );
    }
    add_action( 'woocommerce_cart_calculate_fees','add_shipping_fee' );
    

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

    This code is tested and working.


    References:

    • WooCommerce - Make a set of coupons adding a fixed fee to an order
    • WooCommerce class - WC_Cart - add_fee() method
    0 讨论(0)
提交回复
热议问题