Basically, in this article, you will see how to write custom content for your WooCommerce Thank You page as a separate WordPress Page, so that you can use WYSIWYG, Gutenberg or a page builder to create something unique, and then ask WooCommerce to “get it” and “include” such page inside the default order-received endpoint.
If you’re not sure what I mean, try taking a look at the two screenshots below. Then, copy the simple snippet and see the result!
PHP Snippet: Include Custom WordPress Page @ WooCommerce Thank You Page
You can place PHP snippets at the bottom of your child theme functions.php file (delete "?>" if you have it there). CSS, on the other hand, goes in your child theme style.css file. Make sure you know what you are doing when editing such files - if you need more guidance, please take a look at my free video tutorial "Where to Place WooCommerce Customization?"
Does this snippet (still) work?
Please let me know in the comments if everything worked as expected. I would be happy to revise the snippet if you report otherwise (please provide screenshots). I have tested this code with Storefront theme, the WooCommerce version listed above and a WordPress-friendly hosting on PHP 7.3.
Check out these free video tutorials. You can learn how to customize WooCommerce without unnecessary plugins, how to properly configure the WooCommerce plugin settings and even how to master WooCommerce troubleshooting in case of a bug!
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.
12 thoughts on “WooCommerce: Include Custom WP Page @ Thank You Page”
Could you explain more about the Ecommerce Analytics? How do they differ from a generic Google Analytics or Facebook Pixel? Is there something that Woocommerce does internally?
Or are you discussing a hook that developers may use on the thank you page that will no longer be there on a custom thank you? 🙂
Hey Mark, sure!
Google Analytics and ecommerce tracking in general is usually hooked to the “woocommerce_thankyou” hook, which fires on the default thank you page. If you direct customers to another page, this hook may not fire, and therefore tracking may not work.
It’s as simple as that. Of course, you can always include that hook on your custom page, but you need to have dev skills and also make sure it actually works.
Thanks for the clarification! That makes sense.
I also want to say your code snippets really saved me time by not having to dig into the guts of woocommerce with PHPStorm. I needed a lot of unexpected customisations and thanks to you, our launch was a succcess!
I can fine tune later for sure. But they saved me considering we had a lot of unexpected tech failures.
Glad to hear that!
Hello. It’s December 2020 and this snippet works great in my custom WordPress theme.
I wish I could get the page content above the default content ( just below the ‘Order received’ heading ). If there is a way to do that via a functions snippet, I’d love to know.
There’s always some sort of workaround you could use. But yes, pity there is no hook in that position alright
Hi there! I would need your help please, I’m a bit lost. After a day of research on the internet I can’t find the trick to make what I’m trying to do and it seems simple to me … I’ve designed a new page using Elementor to replace my traditional Thank You page in woocommerce. But I can’t find the way to display all the “order details”, download links if it’s a eBook etc after a sale on this page that will replace the basic Thank You page. I thought there was a shortcode to do it like for the checkout page, but I’ve found nothing.
Could you please help me do that? I’m not a fan of adding plugins over plugins on my website and I’ve already designed the new page so … I just need this to complete.
Thanks ! 🙂
Hi Harvey, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Thanks for your post Rodolfo Melogli. I try custom Thank You, Page, for one of my websites. but it’s not working. maybe I’m missing something. I’m using NameCheap server and my PHP version 7.0
Try again, I’ve revised the snippet since
Thanks for a great article. I am often on your site for a quick woo reference and I really appreciate all you publish.
I just thought I’d mention, get_page() is deprecated.
Awesome, thank you!