php 在购物车和结帐页面上显示Woocommerce产品类别

8ehkhllq  于 2023-03-16  发布在  PHP
关注(0)|答案(3)|浏览(150)

我试图让产品类别显示在购物车和结帐页面上的每一个产品添加。
我的php知识非常有限,所以最简单的解释会很棒:)
我已经看了一下woocommerce文档,并在谷歌上搜索了创世纪连接文档,但我没有找到我要找的东西。
使用创世纪Woocommerce连接和最新的woocommerce和wordpress。
不知道从这里去哪里。:/

3okqufwl

3okqufwl1#

这个woocommerce〉templates〉cart〉cart.php是购物车页面。在这里,foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item )循环显示你添加到购物车的产品。变量$product_id有你添加到购物车的每个产品的id。把这个代码放进循环

$terms = get_the_terms( $product_id, 'product_cat' );
foreach ($terms as $term) {
   $product_cat = $term->name;
}
echo $product_cat ;

它会显示类别。计算一下,让我知道:)

yhuiod9q

yhuiod9q2#

您只需将其添加到购物车foreach循环中即可

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

在WooCommerce购物车Github snipet中查看购物车循环。

fruv7luv

fruv7luv3#

我最近在cart.php中实现的另一个选项是在产品名称部分之后,我希望类别之间用逗号分隔:

printf( '<br />');
                    
$product_cats = array();
$product_terms = get_the_terms( $product_id, 'product_cat' );

if ( $product_terms && ! is_wp_error( $product_terms ) ) {
foreach ( $product_terms as $term ) {
    $product_cats[] = $term->name;
        }
}

// Output the categories separated by commas
echo implode( ', ', $product_cats );

相关问题