In Woocommerce, I am trying to get product custom attribute values but I fail miserably and I don’t get anything.
So I tried:
global $woocommerce, $post, $product; $res = get_post_meta($product->id); print_r(unserialize($res['_product_attributes'][0]));
And I’m getting this raw data:
[pa_koostis] => Array ( [name] => pa_koostis [value] => [position] => 0 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 1 )
I know that there is a value because it is shown in the attribute section, but I just can’t find a way to get it displayed with my custom code.
Advertisement
Answer
Edited: The
woocommerce_get_product_terms
is deprecated since Woocommerce version 3
Go with the following as @datafeedr wrote in his answer:
global $product; $koostis = array_shift( wc_get_product_terms( $product->id, 'pa_koostis', array( 'fields' => 'names' ) ) );
or even more compact:
global $product; $koostis = $product->get_attribute( 'pa_koostis' );
Original answer:
$result = array_shift(woocommerce_get_product_terms($product->id, 'pa_koostis', 'names'));