Let’s say you have already styled your WooCommerce email and want to use the same email design for a custom email, how will you go about that? Turns out its pretty easy. For the sake of simplicity , I am assuming you have the needed data in variables, change them accordingly as per your code.
For instance, right now, your email function looks something like this:
$email = ‘ashfame@example.com’; | |
$subject = ‘Custom stuff email’; | |
$email_content = ”; // whatever it is | |
wp_mail( $email, $subject, $email_content ); |
Now, do the following and it will pull the email design in use with WooCommerce emails even if you haven’t styled it.
$email = ‘ashfame@example.com’; | |
$subject = ‘Custom stuff email’; | |
$email_heading = ‘Custom Heading’; | |
$email_content = ”; // whatever it is | |
ob_start(); | |
do_action( ‘woocommerce_email_header’, $email_heading ); | |
echo $email_content; // or simply have HTML markup outside PHP tags here | |
$email_content = ob_get_clean(); | |
wp_mail( $email, $subject, $email_content ); |
The magic happens by calling in header and footer markup of WooCommerce emails along with the actual content, buffer the output it and pass that on to mail function.
Leave a Reply