I'm doing an eCommerce where you can select a product with a selected variation attribute. In the variation, you will choose the day (Monday, Tuesday, etc) when you want to receive it (not the date, only day).
My issue is that I need to show in Cart page the products separated by day, like this.
Monday
Product 1 Product 2
Tuesday
Product 1 Product 3 Product 2
To do this I need to identify the value of the attribute of the product when I added in the cart.
In cart.php I add different codes to get the attributes, for all I can get the attribute name and id, but the value is always empty.
if($product->is_type('variation')){
$variation_attributes = $product->get_variation_attributes();
foreach($variation_attributes as $attribute_taxonomy => $term_slug){
$taxonomy = str_replace('attribute_', '', $attribute_taxonomy );
// The name of the attribute
$attribute_name = get_taxonomy( $taxonomy )->labels->singular_name;
// The term name (or value) for this attribute
$attribute_value = get_term_by( 'slug', term_slug, $taxonomy )->name;
printf ('<br>Detalles de Variaciones: %s, Value %s',$attribute_name,$attribute_value);
}
$variation_detail = woocommerce_get_formatted_variation( $variation_attributes, true );
// printf ('<br>Detalles de Variaciones: %s',$variation_detail);
$attributes = get_post_meta( $product->get_parent_id(), '_product_attributes', true );
foreach ( $attributes as $attribute ) {
echo '<br>Variable: '. $attribute['name'] . '<br> Value: '. $attribute['value'];
}
foreach( $cart_item['variation'] as $attribute_val ){
printf('<br>Lista de Variaciones: %s', $sttribute_val);
}
}
As I mentioned, I get the attributes name, but the value is empy, I think that I'm not sending the attribute value, How can I confirm that the value is sent to the cart?