For my Woocommerce variable products I'm implementing a custom size chooser on the single product page and have this sizes in a table:
These variations are just: 30B
30C
30D
rather than being split in to: 30
and B
C
D
What I am trying to figure out is: How to grab the shipping class for each product variations?
I have something similar on cart page but I don't know what is the variation ID or how to get it from the single product page:
$product_id = ( 0 != $cart_item['variation_id'] ) ? $cart_item['variation_id'] : $cart_item['product_id'];
// need the variation id for the above to be able to do the rest:
$product_shipping_classes = get_the_terms( $product_id, 'product_shipping_class' );
$product_shipping_class_name = ( $product_shipping_classes && ! is_wp_error( $product_shipping_classes ) ) ? current( $product_shipping_classes )->name : '';
I know how to do it once I have the variation ID. I just can't figure out how to get it in order to do the rest. The only things that I need to get for it, are the product id and the slug for the variations (there is also a color attribute on this page).
However I have given to the product a default variation to use (so the hidden variation_id
is set).
Perhaps that needs to be fetched first to know the id of the selected color to then fetch the variation ids for the others?