The WooCommerce thank you page displays default instructions for a payment type, here’s an image showing the text that is displayed when an order has been paid using the “Cash on delivery” payment method.
Click here to enroll in our Free WooCommerce Coding Course
If you’re looking to change or remove this text it can be done without changing any code, if you want to dynamically change the text (to reference an order number or something similar) then that can be done via a code snippet.
In this article we’ll take a look at how to change the text via the admin interface and via a code snippet.
Changing the Instructions via the Admin Interface
If you go to the WooCommerce menu on the left hand side of the Admin screen and choose the “Settings” option then the “Payments” tab you will be shown a list of all the Payment gateways currently set-up for the store.
Click the “Manage” button for the payment method that you want to change the instructions for
You should then be taken to a screen that includes a number of text fields, change the “Instructions” field to your desired value and click the “Save Changes” button.
The new instructions should then start showing on the thank you page when the relevant payment method has been used to make a purchase.
Changing the Instructions with a Code Snippet
In most cases changing the instructions via the Admin Interface will probably get you what you want, but let’s imagine a case where we want to display some instructions that tell the customer to quote the order number when making payment. It would be nice if we could include the actual order number in the instructions. Here’s how to do it.
In order to add the text we’ll hook into the woocommerce_thankyou_<payment method> action, if you’d like more details about this I’ve written about the action in an article about the WooCommerce thank you hook.
We’ll use the “cash on delivery” payment method as an example, so the hook we’ll use will be woocommerce_thankyou_cod as “cod” is the id of the “cash on delivery” payment method. You can find out more details of how to find the id for a payment method here.
Here’s the code we’ll use
function hwn_add_payment_instructions_with_order_id($order_id) { $gateways = WC()->payment_gateways->payment_gateways(); // gateway instance $gateways['cod']->instructions = "Pay with cash upon delivery, please quote the order number " . $order_id . " when you make your payment."; } add_action( 'woocommerce_thankyou_cod', 'hwn_add_payment_instructions_with_order_id', 1 );
The last line of the code hooks the hwn_add_payment_instructions_with_order_id
function to the woocommerce_thankyou_cod
action, the code in the hwn_add_payment_instructions_with_order_id
function performs the following steps
- Uses the global
WC()
object to access thepayment_gateways
object then thepayment_gateways()
function to return a list of all the payment gateways available, the list is stored in the$gateways
variable - The code then uses the “cod” key to reference the cash on demand payment gateway object, it then changes the
instructions
property to a dynamic message that contains the order passed into thewoocommerce_thankyou_cod
action by the code that fired the action.
Once the code has been added to a WooCommerce site then the message will be displayed, as shown in the screenshot below.
Click here for more details about the "Learning WooCommerce Development By Example" book
Final Thoughts
If you’ve made it to the end of this article the you should have discovered two ways to change the instructions for a payment type on the WooCommerce thank you screen. If you have any questions or pointers then please don’t hesitate to leave them in the comments section.