3
我试图根据付款方式和送货方式的组合,向woocommerce完成订单电子邮件通知添加不同的内容。WooCommerce根据付款方式和送货方式添加自定义电子邮件内容
我迄今为止代码:
// completed order email instructions
function my_completed_order_email_instructions($order, $sent_to_admin, $plain_text, $email) {
if ((get_post_meta($order->id, '_payment_method', true) == 'cod') && (get_post_meta($order->id, '_shipping_method', true) == 'local pickup')){
echo "something1";
}
elseif ((get_post_meta($order->id, '_payment_method', true) == 'bacs') && (get_post_meta($order->id, '_shipping_method', true) == 'local pickup')){
echo "something2";
}
else {
echo "something3";
}}
支付部分工程(我得到正确的“something1”到“something3”的内容),但如果我添加了& &航运条件,我得到“something3”与每种付款方式。
任何想法有什么不对,我怎么能使它工作?
感谢
由于工作和跟进的问题:我使用的代码作为自定义插件的一部分,因为我有不同的内容添加到几乎所有类型的客户电子邮件。我列出了插件中的函数,并直接在我的子主题中的相应电子邮件模板中调用它们(我不得不修改模板)。我将代码的相关部分粘贴到插件中,并且它可以正常工作。其他功能仅基于付款方式,而我上面的代码似乎工作至今。我的问题是:是否安全地保留它们或者存在一些“隐藏的陷阱”,我应该根据您的代码更好地修改它们? – Anna
@Anna如果您使用的是WooCommerce 3. +您应该在'get_post_meta()'中使用'$ order-> get_id()'...如果您的代码的某些部分正常工作,请按照原样使用它们... – LoicTheAztec