0

我想在 WooCommerce Checkout 中隐藏产品数量,并将标题旁边的“x 1”替换为产品标题下方的额外行。

但仅当订单中有超过 1 个时,它才应显示产品的数量。

我发现以下代码为数量添加了额外的行。但我无法弄清楚只有在订单中有 > 1 个产品时如何显示数量。

add_filter( 'woocommerce_checkout_cart_item_quantity', 'customizing_checkout_item_quantity', 10, 3);
function customizing_checkout_item_quantity( $quantity_html, $cart_item, $cart_item_key ) {
    $quantity_html = ' <br>
            <span class="product-quantity">' . __('Quantity', 'woocommerce') . ': <strong>' . $cart_item['quantity'] . '</strong></span>';

    return $quantity_html;
}

代码来自这个答案:https ://stackoverflow.com/a/48233426/1788961

有没有办法检查数量并仅在订单中有超过 1 个产品时才显示该行?

4

2 回答 2

0

要检查每个订单是否有多个产品,我会选择以下条件:

if ( WC()->cart->get_cart_contents_count() > 1 ) {
     // more than 1 product per order
}
于 2019-11-21T22:52:23.147 回答
0

我想到了。函数中已经有数量:

这是我的解决方案:

add_filter( 'woocommerce_checkout_cart_item_quantity', 'customizing_checkout_item_quantity', 10, 3);
function customizing_checkout_item_quantity( $quantity_html, $cart_item, $cart_item_key ) {

    $cart_item_quantity_count = $cart_item['quantity'];
    if ( $cart_item_quantity_count > 1 ) :
        $quantity_html = '<br> <span class="product-quantity">' . __('Quantity', 'woocommerce') . ': <strong>' . $cart_item['quantity'] . '</strong></span>';
    else:
        $quantity_html = '';
    endif;

    return $quantity_html;

}
于 2019-11-22T09:02:11.070 回答