【问题标题】:How to display the variation name in Woocommerce Items如何在 Woocommerce 项目中显示变体名称
【发布时间】:2019-08-06 22:08:38
【问题描述】:

我正在尝试制作一个将动态添加产品的 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;
    }
?>

【问题讨论】:

    标签: php wordpress methods woocommerce product


    【解决方案1】:

    首先,您只需要使用WC_Product method get_name() (请参阅模板中的cart/minicart.php on line 36 在您的代码中替换以下行:

    $title          = $_product->get_title();
    

    与:

    $title          = $_product->get_name();
    

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

    // 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' );
    

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

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

    这一次它将显示变体名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2016-12-26
      • 2021-06-08
      • 2015-01-01
      相关资源
      最近更新 更多