如何在购物车页面中显示产品属性名称

时间:2015-06-19 20:56:41

标签: php wordpress woocommerce

我最喜欢的一位成员helgatheviking为我提供了一个很好的解决方案of my previous question,可以从购物车页面中删除特定产品属性的数量字段。以下是她给出的功能。

add_filter( 'woocommerce_cart_item_quantity', 'remove_cart_item_quantity', 10, 2 );
function remove_cart_item_quantity( $product_quantity, $cart_item_key ){
    $cart_item = WC()->cart->cart_contents[ $cart_item_key ];
    if( $cart_item['data']->is_type( 'variation' ) ){
        $attributes = $cart_item['data']->get_attributes();
        // var_dump( $attributes );
        if( array_key_exists( 'color', $attributes ) ){
            $product_quantity = '';
        }
    }
    return $product_quantity;
}

现在$product_quantity;返回一个空字符串。

是否可以显示名称而不是空白。 $product_quantity = '';我应该更换什么?如果所选产品的颜色为绿色,则$product_quantity;应返回绿色。 例: $product_quantity = '$color';如何从购物车中的产品属性中获取颜色字符串。

1 个答案:

答案 0 :(得分:0)

我实际解决了这个问题$_pname = WC()->cart->get_item_data( $cart_item );所以你可以使用$product_quantity = str_ireplace( 'Choose Quantity:', '',$_pname) ;

add_filter( 'woocommerce_cart_item_quantity', 'remove_cart_item_quantity', 10, 2 );
function remove_cart_item_quantity( $product_quantity, $cart_item_key ){
    $cart_item = WC()->cart->cart_contents[ $cart_item_key ];
    if( $cart_item['data']->is_type( 'variation' ) ){
        $attributes = $cart_item['data']->get_attributes();
        $_pname = WC()->cart->get_item_data( $cart_item );
        if( array_key_exists( 'choose-quantity', $attributes ) ){
            $product_quantity = str_ireplace( 'Choose Quantity:', '',$_pname) ;
        }
    }
    return $product_quantity;
}

<强>输出: Output Cart.php