2017-02-26 174 views
0

我試圖在訂單詳細信息頁面和訂單電子郵件中顯示產品變體描述。遵循這個例子Woocommerce: Display Product Variation Description on Cart page它適用於購物車,也適用於結帳。但似乎我無法找到正確的方式叫它的訂單頁面。Woocommerce:在訂單頁面上顯示產品變體描述

$item = $cart_item['data']; 
if(!empty($item) && $item->is_type('variation')){ 
    echo '<dl><dd>' . $item->get_variation_description() } 

不工作,因爲它要求對購物車項目數據.. 而這裏WooCommerce displaying variable description after variable price建議不工作要麼get_post_meta。

$_variable_description = get_post_meta($variation->id , '_variation_description', true); 

我試圖把它無論是在訂單細節,item.php類-WC-訂單項-meta.php,當然還有電子郵件訂單詳細信息.php

有什麼建議嗎?謝謝!

回答

0
add_filter('woocommerce_order_item_name', 'display_product_description', 10, 2); 
    function display_product_description($item_name, $item) { 

     $_product = get_product($item['variation_id'] ? $item['variation_id'] : $item['product_id']); 


     $_var_description =''; 

     if ($item['variation_id']) { 
      $_var_description = $_product->get_variation_description(); 
     } 

     return $_var_description ; 
    } 

在你主題的functions.php的

+0

它的工作原理,因爲它現在顯示的訂購頁面和電子郵件上的變化說明。但現在它顯示的描述,而不是產品的名稱.. – Heiko

0

試試這個我終於找到了工作here現在顯示的訂購頁面上的變化說明和訂單電子郵件的解決方案。

add_filter('woocommerce_order_item_name', 'display_product_title_as_link', 10, 2); 
function display_product_title_as_link($item_name, $item) { 

    $_product = get_product($item['variation_id'] ? $item['variation_id'] : $item['product_id']); 

    $link = get_permalink($_product->id); 

    $_var_description =''; 

    if ($item['variation_id']) { 
     $_var_description = $_product->get_variation_description(); 
    } 

    return '<a href="'. $link .'" rel="nofollow">'. $item_name .'</a><br>'. $_var_description ; 
} 

它將變體描述放在標題的正下方,但對我有用。

0

最後發現工作 問題解決了一個解決方案,將它添加到子主題function.php:

add_filter('woocommerce_product_variation_title_include_attributes', '__return_false');