获取产品变体描述以显示在 woocommerce 中的订单项目上?

Posted

技术标签:

【中文标题】获取产品变体描述以显示在 woocommerce 中的订单项目上?【英文标题】:Get product variation description to display on order items in woocommerce? 【发布时间】:2021-05-28 11:50:46 【问题描述】:

按照this、this 和this(以及许多其他),我仍然无法将每个产品变体描述映射到正确的订单项目(我正在使用产品变体)。此代码显示两个订单项目的两个描述。如何遍历 id 以使每个订单商品的描述不重复?

add_action( 'woocommerce_order_item_meta_end', 'add_variation_description_to_order_item', 20, 4 );
function add_variation_description_to_order_item( $item_id, $item, $order, $plain_text ) 

// for each product ordered
 foreach ( $order->get_items() as $item_id => $item  ) 
     
            $product = $item->get_product();
            $description = $product->get_description();
                  
            echo '<p>' . $description . '</p>';
    
    

如您所见,这里的描述是重复的:

【问题讨论】:

【参考方案1】:

我终于明白了。事实证明,我不得不在循环中使用 $order_item 而不是 $item,但不知道为什么,当然在循环外回显:

add_action( 'woocommerce_order_item_meta_end', 'add_variation_description_to_order_item', 20, 4 );
function add_variation_description_to_order_item( $item_id, $item, $order, $plain_text ) 

// Loop though order "line items"
 foreach ( $order->get_items() as $item_id => $order_item ) 
        $product = $item->get_product();
        $description = $product->get_description();       
         
 
    if ( ! empty( $description ) ) 
    echo '<br> <p>' . $description . '</p>';
    

【讨论】:

以上是关于获取产品变体描述以显示在 woocommerce 中的订单项目上?的主要内容,如果未能解决你的问题,请参考以下文章

WooCommerce:还在购物车项目上显示产品变体描述

在 Woocommerce 可变产品上获取 jQuery 中选定的变体价格

在产品页面上显示运费 - WooCommerce

以编程方式创建具有新属性值的 WooCommerce 产品变体

WooCommerce 如何在前端获取产品属性的干净标签

删除 WooCommerce 可变产品上的重置变体按钮