In woocommerce I am able to display some formatted product attributes under my products on the archives pages with the following code:
add_action('woocommerce_after_shop_loop_item', 'displaying_product_attributes'); function displaying_product_attributes() { global $product; $product_driver = $product->get_attribute('pa_driver'); $product_passenger = $product->get_attribute('pa_passenger'); echo "<p style='color:red;'>".$product_driver."</p>"; echo "<p style='color:red;'>".$product_passenger."</p>"; }
How can I do the same thing on the cart items (in Woocommerce cart and checkout pages)?
Advertisement
Answer
Updated
The following will display in cart and checkout pages your specific product attributes in default Woocommerce formatted way:
// Display specific product attributes in cart items on cart and checkout pages add_filter( 'woocommerce_get_item_data', 'display_cart_item_custom_data_on_cart_and_checkout', 10, 2 ); function display_cart_item_custom_data_on_cart_and_checkout( $cart_item_data, $cart_item ){ $attributes = array('pa_driver', 'pa_passenger'); // Here define your product attributes foreach ( $attributes as $attribute ){ $values = $cart_item['data']->get_attribute($attribute); if ( ! empty( $values ) ) { $cart_item_data[] = array( 'name' => wc_attribute_label($attribute), 'value' => $values, ); } } return $cart_item_data; }
Code goes in function.php file of your active child theme (or active theme). Tested and works.