WooCommerce订单处理电子邮件主题未更改

时间:2018-12-03 作者:wpdd

我在用这个钩子woocommerce_email_subject_customer_procesing_order 更改电子邮件主题,但它不起作用。我尝试了其他挂钩来更新主题以完成订单woocommerce_email_subject_customer_completed_order 或暂停woocommerce_email_subject_customer_on_hold_order 这些钩子很好用。有谁能指导我这个问题吗。我没有很多woo commerce的经验,需要一些帮助来解决这个问题。这是我的密码

add_filter(\'woocommerce_email_subject_customer_procesing_order\', \'change_admin_email_subjects\', 999, 2 );
  function change_admin_email_subjects( $subject, $order ) {
  global $woocommerce;
  $subject = \'Your Job Posting Receipt\';
  return $subject;
}
我知道我们可以通过woo commerce设置更改主题,但我有一些更新的条件,所以这就是为什么我尝试使用woo commerce挂钩进行此操作。

1 个回复
最合适的回答,由SO网友:vikrant zilpe 整理而成

电子邮件模板变量只能在电子邮件正文中使用。如果要更改电子邮件标题/主题行,则需要使用相应的过滤器,并向子主题函数添加一些自定义代码。php文件或通过自定义插件。

WooCommerce文档中有一段代码可以实现这一点:https://docs.woocommerce.com/document/change-email-subject-lines/

作为处理顺序的示例,您将使用:

add_filter( \'woocommerce_email_subject_customer_processing_order\', \'change_processing_email_subject\', 1, 2 );

function change_processing_email_subject( $subject, $order ) {
global $woocommerce;

$blogname = wp_specialchars_decode(get_option(\'blogname\'), ENT_QUOTES);

$subject = sprintf( \'Hi %s, thanks for your order on %s\', $order- 
>billing_first_name, $blogname );                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
return $subject;
}

相关推荐