2013-06-21 94 views
3

我認爲我錯過了一些顯而易見的東西: 我試圖在customer-completed-order.php中包含購買注意事項,因此客戶會收到購買確認函中的註釋,但我失敗了。Woocommerce購買說明?

這裏是我的嘗試:

<?php echo '<div class=\"product-purchase-note\">'. $purchase_note . 'PURCHASE NOTE</div>'; ?> 

<?php  
    $purchase_note = get_post_meta($_product->id, '_purchase_note'); 
    echo '<div class="product-purchase-note">' . $purchase_note . '</div>'; 
?> 

這:

<?php  
    $purchase_note = get_post_meta($_product->id, '_purchase_note', true)) : 
    echo '<td class="product-purchase-note">' . apply_filters('the_content', $purchase_note) . '</td>'; 
?> 

這:

<?php 

    if ($order->status=='completed' || $order->status=='processing') { 
    if ($purchase_note = get_post_meta($_product->id, '_purchase_note', true)) 
    echo '<div class="product-purchase-note"><div>' . apply_filters('the_content', $purchase_note) . '</div></div>'; 
} ?> 

似乎沒有任何工作。

它顯示在訂單接收頁面上,但不會顯示在訂單確認電子郵件。 任何幫助非常感謝我也打開其他一些方法來獲取備註到客戶購買,如自定義元值也許?

+0

同樣的問題,我們缺少購買音符(德考夫 - Notiz)。找到了解決辦法? – Manuel

+0

我找到了一個解決方案,紫杉我不記得現在給我一分鐘我會看看,如果我可以給它 – vimes1984

+0

你需要將其設置爲平面文本:https://github.com/woothemes/woocommerce /blob/master/templates/emails/customer-completed-order.php – vimes1984

回答

1

晚了一點,但使用的$order->customer_note代替$purchase_note = get_post_meta($_product->id, '_purchase_note');

+0

我很樂意除這個答案,但它不是很正確,你需要將其設置爲純文本,使這項工作出於某種原因。 – vimes1984

+0

好奇地,這沒有爲我工作。也許他們在更高版本中修復它 –

1

我懷疑這是因爲$_product尚未在completed-customer-order.php模板中設置呢。

在這種情況下,你需要從訂單拔出產品自己:

<?php 
    $items = $order -> get_items(); 
    foreach ($items as $item) { 
     $product = $order -> get_product_from_item($item); 
     // copied from woocommerce/templates/emails/email-order-items.php 
     $purchase_note = get_post_meta($product -> id, '_purchase_note', true); 
     echo wpautop(do_shortcode(wp_kses_post($purchase_note))); 
    } 
+0

您應該添加結束?> php標記。這是唯一對我有用的答案。 –