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