【问题标题】:How to show product attribute name in cart page如何在购物车页面中显示产品属性名称
【发布时间】:2015-06-19 20:56:41
【问题描述】:

我最喜欢的成员之一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';如何从购物车中的产品属性中获取颜色字符串。

【问题讨论】:

  • 如何显示颜色名称
  • 在另一个问题中,我们已经讨论过使用var_dump 来查看属性变量中可用的数据。
  • 谢谢!!!我只是解决这个见下面的答案

标签: php wordpress woocommerce


【解决方案1】:

我实际上解决了这个$_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;
}

输出:

【讨论】:

    猜你喜欢
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2017-10-21
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多