Shipping: "Flat_rate" not replaced when amount reached for "free_shipping" (4 posts)

  1. Valex2013
    Posted 3 years ago #

    Hi there. :) I hope you will be able to help me out. My problem is the following:

    I set in the free shipping preferences that articles are shipped without shipping costs when the customer reaches an amount of 50 Euro. But when a customer has reached the amount, the standard in the cart is still on "Flat Rate", and "Free Shipping" is only listed as an option for the customer.

    I find that kind of strange, because I thought that the "Flat Rate" would be replaced by "free-shipping", when the amout is reached. But instead both shipping options are shown.

    How can I change that?

    Thank you in advance! ;)


  2. IgniteWoo Team
    Posted 3 years ago #

    If I remember right there is no replacement going on. It is working as you described because that's how the code is written. And unless I'm mistaken the assumption is that IF the shopper wants free shipping then they'd select it.

    For example, maybe you offer free shipping, but I want my stuff sent overnight via UPS because I need it sooner than free shipping would get it to me. So I need to see the UPS options so I can opt to may for shipping if I want to.

  3. Coen Jacobs
    Posted 3 years ago #

    I've posted a filter that does just this a couple days ago in another topic:

    add_filter( 'woocommerce_available_shipping_methods', 'cj_woocommerce_available_shipping_methods' );
    function cj_woocommerce_available_shipping_methods( $available_methods ) {
    	if ( isset( $available_methods['free_shipping'] ) ) {
    		foreach ( $available_methods as $key => $value ) {
    			if ( 'free_shipping' != $key ) {
    				unset( $available_methods[ $key ] );
    	return $available_methods;

    Put this in your (child) themes functions.php file or in a plugin.

  4. edwait
    Posted 3 years ago #

    I am looking for a solution to the OP's same post.

    Coen, I put that code into the functions.php file and it simply made all order revert to free shipping no matter what order amount, even though within woocommerce I set the free shipping to show after $50.

    Did that code work correctly for you? Do I need to enter the amount within the code too?

    I have zero coding ability with php, or any other code. :)

    Thanks in advance for any help I get here.

Topic Closed

This topic has been closed to new replies.

About this Plugin

  • WooCommerce
  • Frequently Asked Questions
  • Support Threads
  • Reviews

About this Topic