Woocommerce:在购物车、订单确认和订单电子邮件中显示变体名称 [重复]

Posted

技术标签:

【中文标题】Woocommerce:在购物车、订单确认和订单电子邮件中显示变体名称 [重复]【英文标题】:Woocommerce: Display variation name in cart, order confirmation, and order email [duplicate] 【发布时间】:2021-06-21 20:50:21 【问题描述】:

注意:此问题被标记为与其他两个问题相似。这 不正确,因为另外两个问题与显示自定义有关 场数据。我不想那样做。我只是想显示 所选变体的名称。

我想做的是在产品标题下、购物车、订单确认页面和订单电子邮件中显示所选变体的名称。

我想通过过滤器和函数来实现这一点,而不是创建自定义模板文件。几年前我在另一个网站上做过这个。但不记得我使用的解决方案。

我发现了许多与此相关的问题和答案,但没有成功让其中任何一个起作用。我怀疑这部分是由于 WooCommerce 的变化。但即使是一些更新的和更新的答案也不起作用。

例如,this 听起来很接近我想要的(用于在购物车中显示变体名称)。

提供的答案使用了这个代码:

add_filter( 'woocommerce_cart_item_name', 'cart_variation_description', 20, 3);
function cart_variation_description( $name, $cart_item, $cart_item_key ) 
    // Get the corresponding WC_Product
    $product_item = $cart_item['data'];

    if(!empty($product_item) && $product_item->is_type( 'variation' ) ) 
        // WC 3+ compatibility
        $descrition = version_compare( WC_VERSION, '3.0', '<' ) ? $product_item->get_variation_description() : $product_item->get_description();
        $result = __( 'Description: ', 'woocommerce' ) . $descrition;
        return $name . '<br>' . $result;
     else
        return $name;

在子主题'functions.php'中使用它,我发现这根本没有效果。

我还尝试了here 提供的答案。在那种情况下,它将显示brand 属性和类别。我将brand 换成了size(我的属性/变体的名称),但它根本没有输出。

【问题讨论】:

【参考方案1】:

通过here的文章,我发现我可以通过一个非常简单的过滤器来实现我想要的:

add_filter('woocommerce_add_cart_item_data','my_add_item_data',10,3);


function my_add_item_data($cart_item_data, $product_id, $variation_id)

if(isset($_REQUEST['size']))

$cart_item_data['size'] = sanitize_text_field($_REQUEST['size']);


return $cart_item_data;

这已将变体信息添加到购物车、结帐确认和电子邮件中。这么简单!

【讨论】:

以上是关于Woocommerce:在购物车、订单确认和订单电子邮件中显示变体名称 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Woocommerce 订单和电子邮件通知中显示产品品牌和名称

在 Woocommerce 购物车、结帐页面、订单和电子邮件通知中的产品标题上方显示品牌名称

如何在 Woocommerce 购物车页面中添加订单备注字段?

Woocommerce 在结帐页面下订单后替换购物车中的产品

WooCommerce:确认订单后付款

WooCommerce:将自定义 Metabox 添加到管理订单页面