WooCommerce: Add Content Under “Place Order” Button @ Checkout

Adding content to the WooCommerce Checkout page is very easy.

All you need is to identify the position where you want to show your content (by using my WooCommerce Checkout Visual Hook Guide) and then create a short PHP function that prints on screen the content you need.

In this example, we will see how to add some content below the “Place Order” button on the WooCommerce Checkout page. This could be very helpful, for example, to print your GDPR-compliant Privacy Policy message and make sure the user is aware about the use of personal data.

Add content to the WooCommerce Checkout page

PHP Snippet: Add Content Under “Place Order” Button @ WooCommerce Checkout


/**
 * @snippet       Add Content Under "Place Order" Button @ WooCommerce Checkout
 * @how-to        businessbloomer.com/woocommerce-customization
 * @source        https://businessbloomer.com/?p=73864
 * @author        Rodolfo Melogli, Business Bloomer
 * @testedwith    Woo 3.5.1
 * @community     https://businessbloomer.com/club/
 */

add_action( 'woocommerce_review_order_after_submit', 'bbloomer_privacy_message_below_checkout_button' );

function bbloomer_privacy_message_below_checkout_button() {
	echo '<p><small>Your personal data will help us create your account and to support your user experience throughout this website. Please have a look at our <a href="/privacy-policy" target=_blank">Privacy Policy</a> for more information on how we use your personal data</small></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

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

15 thoughts on “WooCommerce: Add Content Under “Place Order” Button @ Checkout

  1. Thanks! Worked perfectly for me 🙂

  2. Hello, thank you very much for your tutorials, many help us.
    A query, if I want the text to appear under the option “Create an account?”
    Cheers!!

  3. Hi there,
    Thank you for your information. Can this also be used to load javascript?
    I would like to add some javascript code under the place order button.

    Thank you for your reply.

    1. Hey Mike, thanks for your comment! Yes, of course, you can echo a script via PHP, that’s no problem 🙂

  4. Works great, thanks! Easy ti edit for my own message

    1. Nice 🙂

  5. Rodolfo – Works great! Thanks for another money saving modification.

    Tim

    1. Great 🙂

  6. Thanks for the tip. Works like a charm.
    What about WPML, how would this translate?

    1. Hey Lambert, thanks for your comment! In order to make a string translatable you have to wrap it in a __() function: https://codex.wordpress.org/I18n_for_WordPress_Developers#Translatable_strings – hope this helps 🙂

  7. Hi,

    When I add the snippet to my site, it breaks the site and every page is blank. Have you had any issues?

    1. Sorry, I had this snippet already on my site. The 2 instances collided and broke the site. All fixed.

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 *