Ludo
Ludo

Reputation: 95

Hide variation info from cart item title in WooCommerce 3+

Ever since we upgraded to Woocommerce version 3 our order confirmations are showing huge titles that include the variation detail. I don't like how it looks and it breaks some important functionalities in some custom-made plugins.

Reference: Order Name Showing Variations since update to WC version 3

There is a filter that can be used to disable this data displaying in the title called woocommerce_product_variation_title_include_attribute_name from what I understand. But I have no idea where to apply the filter.

Is there a quick way to apply the filter to change it back to display as it did before?

Upvotes: 7

Views: 11850

Answers (4)

Vladislav Novak
Vladislav Novak

Reputation: 11

I use this:

/* -------------------- Remove variation names from title ------------------- */
add_filter( 'woocommerce_product_variation_title_include_attributes', '__return_false' );
add_filter( 'woocommerce_is_attribute_in_product_name', '__return_false' );

Upvotes: 0

Abhishek
Abhishek

Reputation: 45

As @freemason_17 pointed out, @LoicTheAztec's answer could potentially hide those details at other places as well so just to be sure I added a condition that would limit this to the cart page alone:

function custom_product_variation_title($should_include_attributes, $product){
    if(is_cart()) {
        $should_include_attributes = false;
        return $should_include_attributes;
    }
}
add_filter( 'woocommerce_product_variation_title_include_attributes', 'custom_product_variation_title', 10, 2 );

Upvotes: 0

freemason_17
freemason_17

Reputation: 21

A quick gotcha if you're using this filter to remove attributes from e-mail items. It appears that once an item has been written to an order the properties of it will not change.

add_filter( 'woocommerce_product_variation_title_include_attributes', '__return_false' );

Upvotes: 2

LoicTheAztec
LoicTheAztec

Reputation: 253784

This filter should work returning a false value for $should_include_attributes first argument in woocommerce_product_variation_title_include_attributes filter hook this way:

add_filter( 'woocommerce_product_variation_title_include_attributes', 'custom_product_variation_title', 10, 2 );
function custom_product_variation_title($should_include_attributes, $product){
    $should_include_attributes = false;
    return $should_include_attributes;
}

Code goes in function.php file of your active child theme (or theme) or also in any plugin file.

It should just work as you expect.


Update: The shorter way is:

add_filter( 'woocommerce_product_variation_title_include_attributes', '__return_false' );

Code goes in function.php file of your active child theme (or theme) or also in any plugin file.

just works too.

Upvotes: 23

Related Questions