Kray Kray - 4 months ago 32
PHP Question

WooCommerce Free Shipping - Remove raw or change the text name on checkout and email

I am running WooCommerce 2.6.2 on WP 4.5.3 and Sydney template.

On the WooCommerce Checkout Page (Order completed) under Order Details, I want to Change the 'Free Shipping' text to something else, or remove this row.

I ALSO want to change or remove this row from the Emails sent to the Customer.

However, I can't get this text to Translate

I've added this to my functions.php

// Add this to your functions.php
add_filter('gettext', 'translate_reply');
add_filter('ngettext', 'translate_reply');

function translate_reply($translated) {
$translated = str_ireplace('Free Shipping', 'TBD', $translated);
return $translated;
}


But it doesn't work. That said, if I change just 'Shipping' then it translates the shipping label. I don't want to translate the Label, I want to translate the actual shipping method name.

This is REALLY getting frustrating. It shouldn't be this difficult to change a piece of text.

How can I achieve this?

Answer

Normally you don't need any code for this. As there is big changes Since WooCommerce 2.6+ for Shipping settings options, I have divided my answer in 2 sections:

  1. In WC version 2.5 and before (old way):

In Admin backend go to: WooCommerce > settings > Shipping > Free shipping

You can:

  • Disable free shipping, to remove the row as you asked.
  • Rename "Free Shipping" by something else's you asked too.

Free shipping settings for WC 2.5

  1. In WC version 2.6+ (It's different):

In Admin backend go to: WooCommerce > settings > Shipping > Shipping Zones

Then For each Shipping Zone listed you can have (or not) Free Shipping Shipping method enabled. So for each Shipping Zone listed, you can:

  • Remove Free Shipping (by Shipping Zone), to remove the row as you asked.
  • Rename "Free Shipping" (by Shipping Zone) by something else's you asked too.

Free shipping settings for WC 2.6+ (1)

Free shipping settings for WC 2.6+ (2)

Free shipping settings for WC 2.6+ (3)

Reference: WooCommerce rename "Free Shipping" field on checkout (old version until WC 2.5.x)