// Hook Into Order Status Change
add_action( 'woocommerce_order_status_changed',
function( $order_id, $status_from, $status_to ) {
// Only For Change To This Status
if( $status_to != 'TARGET-ORDER-STATUS' ) {
return;
}
// Get Woo Emails
$mailer = WC()->mailer();
$mails = $mailer->get_emails();
if( empty( $mails ) ) {
return;
}
foreach( $mails as $mail ) {
// Get Completed Email
if( $mail->id != 'customer_completed_order' ) {
continue;
}
// Replace Subject Line
add_filter(
'woocommerce_email_subject_customer_completed_order',
function( $subject ) {
return 'NEW SUBJECT LINE GOES HERE';
}
);
// Replace Heading
remove_action(
'woocommerce_email_header',
[ WC()->mailer(), 'email_header' ]
);
add_action( 'woocommerce_email_header',
function( $email_heading, $email ) {
if( $email->id == 'customer_completed_order' ) {
$email_heading = 'NEW EMAIL HEADING GOES HERE';
}
wc_get_template(
'emails/email-header.php',
[ 'email_heading' => $email_heading ]
);
}, 10, 2 );
// Replace Content
add_filter( 'gettext', function( $original ) {
switch( $text ) {
case 'We have finished processing your order.':
return 'NEW BODY CONTENT GOES HERE';
}
return $original;
} );
// Send It
$mail->trigger( $order_id );
} // End Emails Loop
}, 10, 3
);
Hook transactional email into custom order status
Sends a modified Order Completed email when order status changes to a specific status.
How to use
PHP Code Snippets
- Log into a staging, development, or locally hosted clone of your site
- Install and activate Code Snippets
- WP Admin > Snippets > Add New
- Copy and paste the code from the Description tab above
- Check to ensure formatting came over properly and no syntax errors show up in the editor
- Customize the code as desired
- Add a meaningful title
- Select whether to run on front-end or back-end (or both)
- Click “Save and Activate”
- Test your site to ensure it works
- Disable if any problems, or recover
- Repeat for live environment
License
All code snippets are licensed GPLv2 (or later) matching WordPress licensing.
Disclaimer of warranty:
Except when otherwise stated in writing the copyright holders and/or other parties provide the program as-is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
Support
- Describe the issue and what you’ve observed.
- Describe your expected outcome(s).
- List steps to reproduce the issue.
- Optionally provide screen-shot or video URLs.
