Change sender name and email address for specific

2019-05-11 00:48发布

How to change email sender address and name in WooCommerce for specific email notifications?

For example:
Change the sender name and email address just for customer processing order email notifications.

But not for all email notifications, just for specific ones.

1条回答
干净又极端
2楼-- · 2019-05-11 01:49

The sender name and email address are set here (at the end of Woocommerce "Emails" setting tab:

enter image description here

This fields are passed through dedicated filters hook that allow you to change conditionally the values.

Here is an example conditionally restricted to "customer processing email notification":

// Change sender name
add_filter( 'woocommerce_email_from_name', function( $from_name, $wc_email ){
    if( $wc_email->id == 'customer_processing_order' ) 
        $from_name = 'Jack the Ripper';

    return $from_name;
}, 10, 2 );

// Change sender adress
add_filter( 'woocommerce_email_from_address', function( $from_email, $wc_email ){
    if( $wc_email->id == 'customer_processing_order' )
        $from_email = 'jack.the.ripper@freek.com';

    return $from_email;
}, 10, 2 );

Code goes in function.php file of your active child theme (or theme) or also in any plugin file.

This code is tested and works.

Some other WC_Email Ids that you can use in your condition: - 'customer_completed_order'
- 'customer_on_hold_order'
- 'customer_refunded_order'
- 'customer_new_account'
- 'new_order' ( admin notification )
- 'cancelled_order' ( admin notification )
- 'failed_order' ( admin notification )

查看更多
登录 后发表回答