微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-从产品变体标题中删除属性值,并在单独的行上显示它们

我有一个要在其中结帐的页面

>从产品变体标题项中删除选定的产品属性值.
>也从项目标题删除数量.
>为此产品变式项目在不同的行上显示不同的产品属性值,例如大小,颜色和数量.

我想在结帐页面显示

Aria Sport Shorts (the product title)

Color: Dusty Pink

Size: Small

QTY: 1

代替这个:

How it looks now

可能吗?我应该从哪里开始实现这一目标?

解决方法:

更新

1)从WooCommerce 3开始,要从产品版本标题删除属性值并将其显示在单独的行中,将需要使用这2个专用的简单挂钩(在结帐页面中).

>从产品变体标题删除属性值:

add_filter( 'woocommerce_product_variation_title_include_attributes', 'variation_title_not_include_attributes' );
function variation_title_not_include_attributes( $boolean ){
    if ( ! is_cart() )
        $boolean = false;
    return $boolean;
}

>在不同的行中显示产品变化属性标签和值:

add_filter( 'woocommerce_is_attribute_in_product_name', 'remove_attribute_in_product_name' );
function remove_attribute_in_product_name( $boolean){
    if ( ! is_cart() )
        $boolean = false;
    return $boolean;
}

2)结帐页面-从产品标题删除数量,并将其重新添加到单独的行中.

>从产品标题删除数量

add_filter( 'woocommerce_checkout_cart_item_quantity', 'remove_product_variation_qty_from_title', 10, 3 );
function remove_product_variation_qty_from_title( $quantity_html, $cart_item, $cart_item_key ){
    if ( $cart_item['data']->is_type('variation') && is_checkout() )
        $quantity_html = '';

    return $quantity_html;
}

>在另一行中重新添加购物车项目数量

add_filter( 'woocommerce_get_item_data', 'filter_get_item_data', 10, 2 );
function filter_get_item_data( $item_data, $cart_item ) {

    if ( $cart_item['data']->is_type('variation') && is_checkout() )
        $item_data[] = array(
            'key'      => __('QTY'),
            'display'  => $cart_item['quantity']
        );

    return $item_data;
}

代码在您的活动子主题(或主题)的function.PHP文件中,或者在任何插件文件中.

在Woocommerce版本3中进行了测试,并且可以正常工作.您可能需要进行一些样式更改…

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐