-4

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)?

LoicTheAztec
  • 229,944
  • 23
  • 356
  • 399
Raju
  • 21
  • 2
  • 7

1 Answers1

2

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.

LoicTheAztec
  • 229,944
  • 23
  • 356
  • 399
  • getting error nonce_failure – Raju Dec 19 '18 at 05:04
  • @Raju Sorry but there is no error failure as nothing is submitted (posted) here… See [all answers related to this hook that works](https://stackoverflow.com/search?tab=newest&q=user%3a3730754%20woocommerce_get_item_data) without a nonce that is not needed in this hook. I have tested this code and it just works perfectly… So there is something else that is making trouble that gives that error nonce_failure. – LoicTheAztec Dec 19 '18 at 05:08