如何在 Woocommerce 项目中显示变体名称

Fir*_*fog 2 php methods wordpress product woocommerce

我正在尝试制作一个 Ajax 弹出式购物车,其中产品将动态添加。除了产品变化之外,一切都运行良好。当可变产品添加到购物车时,它不显示变体名称:

<?php 
$items = WC()->cart->get_cart();
    foreach($items as $item => $values) {
        $_product       =  wc_get_product( $values['data']->get_id() );
        $product_link   = get_permalink( $values['data']->get_id() );
        $title          = $_product->get_title();
        $variations     = wc_get_formatted_cart_item_data($values,true);
        echo '<a href="'.$product_link.'">'. $title.'</a>';
        echo $variations;
    }
?>
Run Code Online (Sandbox Code Playgroud)

Loi*_*tec 5

首先,您只需使用WC_Product方法 get_name() (请参阅模板中cart/minicart.php 的第 36 行替换代码中的行:

$title          = $_product->get_title();
Run Code Online (Sandbox Code Playgroud)

和:

$title          = $_product->get_name();
Run Code Online (Sandbox Code Playgroud)

重要提示:在某些情况下,您需要添加以下行(取决于您想要显示的内容和位置)

// Force displaying variation attributes in the product name (in cart/minicart/checkout)
add_filter( 'woocommerce_product_variation_title_include_attributes', '__return_true' );
// (Optional) Force displaying product variation attributes as separated formatted metadata (in cart/minicart/checkout)
add_filter( 'woocommerce_is_attribute_in_product_name', '__return_false' );
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或活动主题)的functions.php 文件中。

要测试它,将此代码添加到主题functions.php文件后,首先清空购物车,因为购物车片段缓存在迷你购物车(Ajax)中。

这次它将显示变体名称。