我使用的是WooCommerce 3.3.3和Visual Products Configurator 4.0
在我的网站上,你可以添加一些产品到购物车,然后进行结帐
密码
<?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 ;
那个位置好吗?
我已经编辑了签出/审核订单。php在签出时显示我的类别名称(从第36行到第41行):
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 ;
我的分类名称显示了两次。我怎样才能解决这个问题?
之后,我可以在“签出”下看到我的类别名称,但它会显示两次。
如何避免这种显示重复?
位置好吗?
要显示产品类别内联链接名称,请使用wc\u get\u product\u category\u list()
。
关于第1点:
您应该用以下专用函数替换您的代码(更紧凑):
echo wc_get_product_category_list( $cart_item['product_id'] );
对于第2点:
您应该用以下代码替换代码,以避免重复和格式错误的html(在templatecheckout/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表中添加输出…