首页 文章

在Woocommerce购物车和结帐中显示商品类别名称

提问于
浏览
1

我正在使用Woocommerce 3.3.3 . 和Visual Products Configurator 4.0

My web site中,您可以将某些产品添加到购物车并继续结帐

  • 我有edited cart/cart.php模板在购物车中显示我的产品类别名称(从第75行到第79行) .

代码

<?php
        do_action( 'woocommerce_review_order_before_cart_contents' );

        foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
            $_product     = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
            $terms = get_the_terms( $product_id, 'product_cat' );
            foreach ($terms as $term) {
            $product_cat = $term->name;
            }
            echo $product_cat ;

那个位置好吗?

foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        $_product     = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
        $product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
        $terms = get_the_terms( $product_id, 'product_cat' );
        foreach ($terms as $term) {
        $product_cat = $term->name;
        }
        echo $product_cat ;

我的类别名称显示两次 . 我该如何解决这个问题?

之后,我可以在结账时查看我的类别名称 but it is displayed twice .

怎么能避免这种显示重复?
这个位置好吗?

1 回答

  • 0

    要显示产品类别内联链接名称,请使用wc_get_product_category_list() .

    For point 1:

    您应该使用以下专用函数替换您的代码(更紧凑):

    echo wc_get_product_category_list( $cart_item['product_id'] );
    

    For point 2:

    您应该通过以下代码替换您的代码以避免重复和格式错误的html(在模板 checkout/review-order.php 文件上):

    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
        ?>
            <tr class="product-categories">
                <td colspan="2"><?php echo wc_get_product_category_list( $cart_item['product_id'] ); ?></td>
            </tr>
        <?php
    

    不要忘记你在html表中添加输出...

相关问题