Woocommerce中基于运输方式的不同电子邮件标题

时间:2018-11-21 03:39:53

标签: php wordpress woocommerce email-notifications shipping-method

所以我想发送相同的电子邮件,但在WooCommerce中标题略有不同。它使用变量$email_heading来保存当前电子邮件标题的值,因此我认为可以进行简单的替换。没有。在这里,我可能会完全错过任何帮助。

我要说的是,当他们选择本地取货时,您的订单已准备好取货,然后在选择任何其他送货方式时,则选择默认值(存储woocommerce的电子邮件设置)。

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;
    };

1 个答案:

答案 0 :(得分:1)

您的代码中有些错误,例如$email,实际上是$order。另外,您已经在此复合挂钩中定位了customer_completed_order,因此在您的IF语句中就不需要它了……

所以请尝试:

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;
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。