title: How to change Woocommerce shipping labels in cart, checkout and also on orders
body: <p>I'm trying to change the shipping label based on whether any of the products in cart has an addon.</p>
  <p>For that purpose, I am using <em><a href="https://stackoverflow.com/questions/37511363/how-can-i-modify-a-woocommerce-shipping-label/37511729#37511729">How can I modify a Woocommerce shipping label</a></em> answer code, with some changes to suit my needs.</p>
  <p>The HTML:</p>
  <pre class="lang-html prettyprint-override"><code>&lt;input type=&quot;hidden&quot; name=&quot;shipping_method[0]&quot; data-index=&quot;0&quot; id=&quot;shipping_method_0_flat_rate5&quot; value=&quot;flat_rate:5&quot; class=&quot;shipping_method&quot;&gt;
  &lt;label class=&quot;shipping__list_label&quot; for=&quot;shipping_method_0_flat_rate5&quot;&gt;Standard Shipping (2-3 days): &lt;span class=&quot;woocommerce-Price-amount amount&quot;&gt;&lt;bdi&gt;3,95&lt;span class=&quot;woocommerce-Price-currencySymbol&quot;&gt;€&lt;/span&gt;&lt;/bdi&gt;&lt;/span&gt;&lt;/label&gt;
  </code></pre>
  <p>So the label <em>Standard Shipping (2-3 days)</em> must display <em>Shipping with customization (4-6 days)</em> if a certain condition is met (in this case: the field <em>custom_text</em> is not empty).</p>
  <p>The functions.php:</p>
  <pre class="lang-php prettyprint-override"><code>//Change Standard Shipping Label if product is customized
  add_filter( 'woocommerce_cart_shipping_method_full_label', 'change_shipping_label', 10, 2 );
  function change_shipping_label( $full_label, $method ){
      
      foreach ( WC()-&gt;cart-&gt;get_cart() as $cart_item_key =&gt; $cart_item ) {
          if ( !empty( $cart_item['custom_text'] ) ) {
          $full_label = str_replace( &quot;Standard Shipping (2-3 days)&quot;, &quot;Shipping with customization (4-6 days)&quot;, $full_label );
          }
      }   
      return $full_label;
  }
  </code></pre>
  <p>This was a success. If the condition is met the label changes to Shipping with customization (4-6 days) prior checkout.</p>
  <p>However, the label change does not apply after checkout (thank you page and emails, it displays the original &quot;Standard Shipping (2-3 days)&quot;.</p>
  <p>Can I display this label change also on thank you page and emails?</p>