WooCommerce: Add Shipping Notices on Checkout Page

A WooCommerce client wanted to show some text in the checkout page, and specifically “Please allow 5-10 business days for delivery after order processing.” so that customers are aware of how shipping works. This is a vital information you should disclose on every page of your ecommerce website, and of course on the checkout page too.

Show a Shipping Notice on the WooCommerce Checkout

PHP snippet: add text above Order Notes in the Shipping column of the checkout page:


/**
 * @snippet       Add Order Note @ Checkout Page - WooCommerce
 * @how-to        Get CustomizeWoo.com FREE
 * @sourcecode    https://businessbloomer.com/?p=358
 * @author        Rodolfo Melogli
 * @compatible    WC 3.5.1
 * @community     https://businessbloomer.com/club/
 */

add_action( 'woocommerce_after_order_notes', 'bbloomer_notice_shipping' );

function bbloomer_notice_shipping() {
echo '<p class="allow">Please allow 5-10 business days for delivery after order processing.</p>';
}

Where to add custom code?

You should place custom PHP in functions.php and custom CSS in style.css of your child theme: where to place WooCommerce customization?

This code still works, unless you report otherwise. To exclude conflicts, temporarily switch to the Storefront theme, disable all plugins except WooCommerce, and test the snippet again: WooCommerce troubleshooting 101

Related content

  • WooCommerce: “You Only Need $$$ to Get Free Shipping!” @ Cart
    This is a very cool snippet that many of you should use to increase your average order value. Ecommerce customers who are near the “free shipping” threshold will try to add more products to the cart in order to qualify for free shipping. It’s pure psychology. Here’s how we show a simple message on the […]
  • WooCommerce: Cart and Checkout on the Same Page
    This is your ultimate guide – complete with shortcodes, snippets and workarounds – to completely skip the Cart page and have both cart table and checkout form on the same (Checkout) page. But first… why’d you want to do this? Well, if you sell high ticket products (i.e. on average, you sell no more than […]
  • WooCommerce: Disable Payment Method If Product Category @ Cart
    Today we take a look at the WooCommerce Checkout and specifically at how to disable a payment gateway (e.g. PayPal) if a specific product category is in the Cart. There are two tasks to code in this case: (1) based on all the products in the Cart, calculate the list of product categories in the […]
  • WooCommerce: Add Privacy Policy Checkbox @ Checkout
    Here’s a snippet regarding the checkout page. If you’ve been affected by GDPR, you will know you now need users to give you Privacy Policy consent. Or, you might need customer to acknowledge special shipping requirements for example. So, how do we display an additional tick box on the Checkout page (together with the existing […]
  • WooCommerce: Redirect to Custom Thank you Page
    How can you redirect customers to a beautifully looking, custom, thank you page? Thankfully you can add some PHP code to your functions.php or install a simple plugin and define a redirect to a custom WordPress page (as opposed to the default order-received endpoint). This is a great way for you to add specific up-sells, […]

Rodolfo Melogli

Business Bloomer Founder

Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as an independent WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza. Follow @rmelogli

77 thoughts on “WooCommerce: Add Shipping Notices on Checkout Page

  1. Thanks for posting this Rodolfo.

  2. Thanks for posting this Rodolfo. It’s a big help putting this notice on our checkout page because of the transit delays caused by both the peak holiday shopping season and COVID-19 combined. Your code worked like a charm on the WC version 4.7.1.

    1. Great!

  3. Hi,

    just installed Wordfence which shows me following critical status on the Shipping notices.

    File appears to be malicious or unsafe: wp-content/themes/flatsome-child/functions.php:

    Details: This file appears to be installed or modified by a hacker to perform malicious activity. If you know about this file you can choose to ignore it to exclude it from future scans. The matched text in this file is: <?

    The issue type is: Suspicious:PHP/checkandincludeprepend.5948
    Description: Suspicious code often found infecting files

    What shall I do ?

    1. You have something else going on, my snippet is fine

  4. I recently found this website and I don’t have words to explain how helpful this is.
    I’m thankful for all the awesome content you have been sharing Rodolfo and wanted to let you know this is still working in WP Version 5.5.1

    I was also able to set this up for multisite, sien I didn’t want to show the notice in all of the sites.

    1. Wow!

  5. Thank you, Rodolfo, it is still working on WC4!

    Best regards.

    1. Great!

  6. It’s generating the output twice no matter the hook used. Why is that?

    1. Not sure Joel. To troubleshoot, disable all plugins but WooCommerce and also switch temporarily to “Twentyseventeen” theme (load the snippet there in functions.php) – does it work? If yes, you have a problem with your current theme or one of the plugins.

      Hope this helps!

      R

    2. I am getting same thing 2 outputs and in wrong place, inputting just after

      Your order

  7. Hi Rodolpho,

    Do you know how can we put a countdown in the add cart popup, cart page with message. I wanna still orders in the cart for only 10mins.

    Thank you.

    1. Hello Stan, thanks so much for your comment! Yes, this is possible – unfortunately this is custom work and I cannot provide a complementary solution here via the blog comments. Thanks a lot for your understanding! ~R

  8. Thanks again. Freaking love your snippets! Thanks

    1. Thanks a mill ๐Ÿ™‚

  9. how to make it in red and bold?

    1. Hey Arunas – thanks so much for your comment! Yes, this is possible with CSS – but unfortunately this is custom work and I cannot provide a complementary solution here via the blog comments. Thanks a lot for your understanding! ~R

    2. Hi Arunas

      An example:

      add_action( 'woocommerce_before_checkout_billing_form', 'bbloomer_notice_shipping' );
         function bbloomer_notice_shipping() {
         echo '<p class="year-text-heading">Must be over 18 to order!</p>';
      }
      

      Notice the p class is now year-text-heading. This is CSS. To change it add some CSS. An example.

      The CSS:

      /* ---- Checkout Page -- */
      /* Text just above the first name field. */
      p.year-text-heading {
      	font-size: 12px;
      	color: red;
      }
      
  10. I am not seeing where to purachase / download this??? It would be nice if you had a big old button that said BUY or DOWNLOAD or GO HERE TO GET IT. I am new to WooCommerace and don’t know how to get this.

    1. Hey Mary, thanks for your comment ๐Ÿ™‚ You just need to copy the snippet on this page and place this in your child theme’s functions.php file – if you need more guidance, please take a look at this video tutorial: https://businessbloomer.com/woocommerce-customization-hangout/. Hope this helps!

  11. This code does not show in Checkout page of the WooCommerce SHopper theme that I am using.

    1. Hey there, thanks for your comment! Does the code work on a different (default) theme such as 2017?

  12. Hi Rodolfo, I use the free Vantage theme for wordpress and added the php snippet at the end of my functions.php file, but it’s displaying the comment under the order summary whereas I want it just after the “Ship to a different address”. How do I achieve this? It’s also duplicating my comment(displaying it twice). I only need it once. Why’s this happening?

    1. Oooh never mind. I figured it out. Your site is amazing!

    2. i have same problem, how did you solved it?

    3. I also have a duplicating note appearing under “Your Order” rather than just before order notes. Using Foodie Pro theme (with Genesis Connect for Woocommerce) with WordPress 4.9.4 and Woocommerce 3.3.1

    4. Hello, I have it twice too, how did you solve this issue?

    5. I too have the notice appearing twice, what is the solution to only make it appear once please?

      1. Thanks for your comment Luke! I’ve revised the snippet, take a look at the new version ๐Ÿ™‚

    6. thank you

  13. Hello Rodolfo,

    Great snippet the problem with mine is that the text would appear 3 times. Is there something I am missing?

    1. Hey Cedric, thanks to a previous comment I changed the function slightly, let me know if this works!

  14. Hi Rodolfo, you’re tips are AWESOME! I just stumbled on your site. I tried adding this snippet, but it was duplicating the note. I changed the hook so the note appeared before the shipping.

    
    function bbloomer_notice_shipping() {
    echo '<strong>Please allow 1 business day for order processing. Orders are not processed on weekends or holidays.</strong>';
    }
     
    add_action( 'woocommerce_review_order_before_shipping', 'bbloomer_notice_shipping' );
    
    

    On the user end it would appear as: Please allow 1 business day for order processing. Orders are not processed on weekends or holidays.Please allow 1 business day for order processing. Orders are not processed on weekends or holidays.

    1. Excellent stuff Albert ๐Ÿ™‚

      1. Hi Rodolfo. Great post!
        just wanted to tell you, like comment https://www.businessbloomer.com/woocommerce-add-shipping-notices-checkout-page/#comment-30367

        That when using this code on the checkout Before Order
        it prints it double, so the end user see the notice twice.

  15. Hi there rodolfo , would it be possible to add these notes to specific products?

  16. Hello Rodolfo,
    Thanks for the great tip!
    I tried this snippet on my test site which is running WooCommerce version 3.2.3 but did not work.
    I changed the code from ‘woocommerce_before_order_notes’ to ‘woocommerce_checkout_after_customer_details’ and added CSS code at the “Additional CSS” section from Apperance> Customize
    Do you have any idea why this doesn’t work?
    Thanks a lot for your reply.

    1. Never mind! It worked!
      Thanks a lot!!!

  17. This worked perfectly – client needed a note to appear during checkout and among various ways to do it, your way proved easiest and fastest. Cheers!

    1. Thank you Clay ๐Ÿ™‚

  18. Worked perfectly. Thanks so much!

    1. Thanks Samantha ๐Ÿ™‚

  19. Works with Woocommerce 3.1.0
    Great bit of code.
    Thank you

    1. Brilliant! Thanks Alec ๐Ÿ™‚

  20. Hey,

    Would it be possible to show it dependant on shipping method ID sellected?

    Thanks

    1. Til, thanks so much for your comment! Yes, this is possible – but unfortunately this is custom work and I cannot provide a complementary solution here on the blog. Thanks a lot for your understanding! ~R

  21. Hi,

    Is there an easy way to use this same code for the /cart/ page as well? Want to give a notice to people as soon as they view their cart.

    Thanks!

    1. Hey Craig, thanks for your comment! Of course, you can use a similar snippet and just change the “hook” -> here’s a list of available hooks you have on the Cart page: https://businessbloomer.com/woocommerce-visual-hook-guide-cart-page/

  22. Hi there,

    Just want to ask. The code should be put on functions.php?

    Thanks

    1. it worked thanks!

      1. Excellent, thanks for letting me know ๐Ÿ™‚

  23. IS there a way to only show the notice based on Country? If they are in Canada for instance I want to display a notice. Thanks!

    1. Hey Rob, thanks for your comment! Do you mean you want to show this based on “geolocation” (IP address) – or based on the selected shipping/billing country?

  24. Is it possible to put the text directly after the tickbox above? On my woocommerce there is text that says “Use a different shipping address” and then there is a tickbox (reverse to your image above). I’d like to put my comment straight after that tickbox (no line break). Is that possible?

    1. Hey Sarah, thanks for your comment. I recommend checking this out: https://businessbloomer.com/woocommerce-visual-hook-guide-checkout-page. It will possibly help you find a different/better position (hook). Let me know!

  25. The most recent WP update appears to have broken this code and it no longer works. Is there an update we can use for it?

    Thank You!

    1. Hello Courtney, thanks for your feedback. I’m afraid I tested this on WC 2.6.4 and WP 4.6.1 and it works perfectly – weird ๐Ÿ™‚ Can you try again?

    2. never mind figured out what was wrong sorry please delete my comments.

      Thank You again!

      1. Ah, that’s no problem at all. I’m happy you brought this up so I took a chance to verify it still works! Cheers ๐Ÿ™‚

  26. Dats osm snippet… What to use if i want to place the notes near flat shipping

    Only upon minimum purchase of 1800 shipping is free ( I want this to be added whenever they purchase less than 1800)

    1. Deepa, thanks for your comment! Can you show me a mock-up or screenshot to show exactly where you want to place the notice? Thank you ๐Ÿ™‚

  27. Wow! amazing tutorial.

    What about if I want to tell them that my shop can produce the product only 50 products / day and the delivery date will be next 15 days. if the total quantity of product order on that day is more than 50; the delivery date will be next 16 days. ( like 1-50 send next 15 days, 51-100 send next 16 days).

    Do you know the way to do this thing?

    Thank you very much
    Sohn

    1. Sohn, thanks so much for your feedback! Yes, this is possible – but unfortunately it’s pretty custom and I cannot provide this solution on the blog. If you would like to get a quote, please go here. Thank you! R

  28. Interesting, is it possible to have users confirm their shipping address before order completion?

    1. Hey Cecily, thanks for your query. Are you saying you would like to show a message when people click on “Pay” that say you must confirm your shipping address first?

  29. Gret post Rodolfo! Thank you

    Quick question: where do I add this? I can’t seem to fing the right file to add it to :/

    1. You should add this to your current theme’s functions.php. Let me know if it works for you!

  30. Thanks for you tutorial!

    What about If I want to add a text after country field?
    I was trying something like that… but it seems to be not right

    function notice_country() {
    echo ‘For the moment we are shipping only in Montreal. Sorry for the inconvenients.’;
    }

    add_action( ‘woocommerce_after_billing_country’, ‘notice_country’ );

    1. Eduardo, try using “woocommerce_before_checkout_shipping_form” instead of “woocommerce_after_billing_country” ๐Ÿ™‚

  31. Thank you so much for this code snippet!

    1. And thank you so much for your feedback! ๐Ÿ™‚

Questions? Feedback? Customization? Leave your comment now!
_____

If you are writing code, please wrap it like so: [php]code_here[/php]. Failure to complying with this, as well as going off topic or not using the English language will result in comment disapproval. You should expect a reply in about 2 weeks - this is a popular blog but I need to get paid work done first. Please consider joining the Business Bloomer Club to get quick WooCommerce support. Thank you!

Your email address will not be published. Required fields are marked *