Matt Nath
Matt Nath

Reputation: 65

Different email heading based on shipping methods in Woocommerce

So I want to send the same email with a slightly different heading in WooCommerce. It uses the argument $email_heading variable to hold the value of that current email heading so I figure a simple replacement would work. It doesn't. I could be completely missing the mark here any help is much appreciated.

I want it to say Your Order is ready for pickup when they choose local pickup and then the default value (stored the email settings of woocommerce) when any other shipping is chosen.

add_filter( "woocommerce_email_heading_customer_completed_order", 'HDM_woocommerce_email_header', 10, 2 );
function HDM_woocommerce_email_header( $email_heading, $email ) {
  if ('customer_completed_order' == $email->id && $order->has_shipping_method('local_pickup') ){
      $order_id = $order->get_id();
      $email_heading = '<h1>Your Order Is Ready For Pickup</h1>';
    }
      return $email_heading;
    };

Upvotes: 2

Views: 827

Answers (2)

i'm wondering if this is valid for email subject:

add_filter( "woocommerce_email_subject_customer_completed_order", 'custom_email_subject', 10, 2 );
function custom_email_subject( $subject, $order ) {
    if ( $order->has_shipping_method('local_pickup') ){
        $subject = 'Your Order Is Ready For Pickup';
}
return $subject;
}

Upvotes: 0

LoicTheAztec
LoicTheAztec

Reputation: 254373

There are some mistakes in your code like $email that is in fact $order. Also you are already targeting customer_completed_order in this composite hook, so you don't need it in your IF statement…

So try instead:

add_filter( "woocommerce_email_heading_customer_completed_order", 'custom_email_heading', 10, 2 );
function custom_email_heading( $email_heading, $order ) {
    if ( $order->has_shipping_method('local_pickup') ){
        $email_heading = '<h1>Your Order Is Ready For Pickup</h1>';
    }
    return $email_heading;
}

Code goes in function.php file of your active child theme (or active theme). Tested and works.

Upvotes: 2

Related Questions