WordPress Development Asked by Santiago Cuartas Rmrz on December 8, 2020
I want to use the custom fields that I can create into the order post in WooCommerce but using placeholders. As you know, into the email settings of WooCommerce, where you can edit the email body, it says:
Optional email body text. You can use the following placeholders:
{order_date}
,{order_number}
,{order_status}
,{billing_first_name}
,{billing_last_name}
,{billing_company}
,{blogname}
,{site_title}
I want to know the way to create my own placeholders. I’m trying to do this mainly because I want to include the shipping tracking number for my customers.
I found this code in another post:
/**
* To use:
* 1. Add this snippet to your theme's functions.php file
* 2. Change the meta key names in the snippet
* 3. Create a custom field in the order post - e.g. key = "Tracking Code" value = abcdefg
* 4. When next updating the status, or during any other event which emails
* the user, they will see this field in their email
*/
add_filter( 'woocommerce_email_order_meta_keys', 'my_custom_order_meta_keys' );
function my_custom_order_meta_keys( $keys ) {
$keys[] = 'Tracking Code'; // This will look for a custom field called 'Tracking Code' and add it to emails
return $keys;
}
I already used it and it works, but the custom field is added to the end of "order details" and is not necessary to add any placeholder, but I want to associate it to a placeholder and in this way to be able to use it in other parts of the email, like the heading, subject or the body, for example, put in the body:
You tracking number is {tracking_code}
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP