2016-04-04 44 views
0

在Woocommerce中,我需要在完成的訂單電子郵件上打印自定義字段。Woocommerce - 在電子郵件中打印產品的自定義字段

該模板在我的主題woocommerce/emails文件夾中完全獨一無二,因爲默認模板不適合我的需求。

因此我想顯示如下: 名稱,數量和兩個自定義字段

這需要包含在客戶完成-order.php電子郵件模板,但我不能肯定什麼語法打印它是必要的。

我發現了一些谷歌搜索,但它不工作:

<?php foreach ($items as $item_id => $item) : 
$_product  = apply_filters('woocommerce_order_item_product', $order->get_product_from_item($item), $item); 
?> 

<p>Class: <?php echo get_post_meta($_product->id,'name',true); ?></p> 

<p>Date: <?php echo get_post_meta($_product->id,'date_text_field',true); ?></p> 

<p>Time: <?php echo get_post_meta($_product->id,'time_text_field',true); ?></p> 

<p>Number of Spaces: <?php echo get_post_meta($_product->id,'qty',true); ?></p> 


<?php endforeach; ?> 
+0

每個訂單的類/日期/時間是否相同?還是它們是特定於特定訂單的? – helgatheviking

回答

1

嘗試增加以行動掛鉤,
do_action('woocommerce_order_item_meta_start', $item_id, $item, $order);
OR
do_action('woocommerce_order_item_meta_end', $item_id, $item, $order);

這可以在下面的方式來使用:

add_action('woocommerce_order_item_name', 'action_custom_order_meta', 10, 3); 

OR

add_action('woocommerce_order_item_name', 'action_custon_order_meta', 10, 3); 

以下是回調處理函數。

function action_custom_order_meta($item_name, $item, $false){ 
    $product_id = $item['product_id']; 
    $product_custom_date = get_post_meta($product_id, 'product_custom_date', true); 
    $product_custom_time = get_post_meta($product_id, 'product_custom_time', true); 
    $product_custom_meta = 'Date: ' . $product_custom_date . ' <br> Time: ' . $product_custom_time; 
    echo $product_custom_meta; 
} 

將自定義字段名稱更改爲適當。您可能還需要根據自定義電子郵件所需的標記打包輸出。

希望這會有所幫助。

相關問題