2017-10-28 119 views
2

我正在使用WooCommerce 3.1.1,我試圖用客戶和管理員的新訂單通知中的特定產品類別的某些文本替換「價格金額」。隱藏Woocommerce電子郵件通知中特定產品類別的價格商品

我幾乎已經嘗試了一切,但我無法找到電子郵件通知的訂單項明細表。

此郵件看起來是這樣的現在:

Email

任何幫助將非常感激。

+0

您是否嘗試編輯電子郵件模板? – Spartacus

+0

我找不到代碼。 –

回答

2

您需要先閱讀這個官方文件,以瞭解Overriding WooCommerce Templates via your active Theme

,你需要改變的模板和倍率emails/email-order-items.php

在您的WC版本線58(或線55 WC版本3.2+),你將取代:

<td class="td" style="text-align:<?php echo $text_align; ?>; vertical-align:middle; border: 1px solid #eee; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;"><?php echo $order->get_formatted_line_subtotal($item); ?></td> 

通過這個(其中你應該設定自己的類別和替換文本字符串)

<?php 
## ---- Variables to define (below)---- ## 

$categories = array('clothing'); // The Product categories coma separated (IDs slugs or names) 
$replacement_text = __('Replacement text (here)'); // The replacement text 

// Getting the email ID global variable (From our function below) 
$refNameGlobalsVar = $GLOBALS; 
$email_id = $refNameGlobalsVar['email_id_str']; 

// When matching product categories, "New Order", "Processing" and "On Hold" email notifications 
if(has_term($categories, 'product_cat', $product->get_id()) 
&& ($email_id == 'new_order' || $email_id == 'customer_processing_order' || $email_id == 'customer_on_hold_order')) 
    $formated_line_subtotal = $replacement_text; 
else 
    $formated_line_subtotal = $order->get_formatted_line_subtotal($item); 
?> 
<td class="td" style="text-align:<?php echo $text_align; ?>; vertical-align:middle; border: 1px solid #eee; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;"><?php echo $formated_line_subtotal; ?></td> 

得到你需要將你的活動子主題的function.php文件(或活動主題)添加此電子郵件ID:

// Setting the email_id as a global variable 
add_action('woocommerce_email_before_order_table', 'the_email_id_as_a_global', 1, 4); 
function the_email_id_as_a_global($order, $sent_to_admin, $plain_text, $email){ 
    $GLOBALS['email_id_str'] = $email->id; 
} 

現在你會得到這樣當產品類別的比賽和「新秩序」(管理員),「客戶在保留令」和「客戶處理順序」。電子郵件通知只:

enter image description here

+0

此代碼適用於發送給管理員但不發送給客戶的電子郵件。 –

+0

@MujtabaK **更新:**由於「新訂單」電子郵件通知只發送給管理員,我在if語句中添加了「客戶等待訂單」和「客戶處理訂單」電子郵件通知......這樣,客戶就可以收到它太。 – LoicTheAztec

+0

我更新了代碼,但我無法對其進行測試。在結帳頁面上,它返回它顯示錯誤「內部服務器錯誤條紋」。 –

相關問題