woocommerce получить список значений атрибутов

Я использую woocommerce в wordpress для создания простого магазина, и я добавил пару атрибутов к продукту. Это, а именно, size и color . В разделе «Размер» у меня есть множество значений, включая «Малый», «Средний» и «Большой». То же самое с цветом, т.е. Красный, Синий, Зеленый.

Я хочу показать эти значения в раскрывающемся списке. В основном просто перечислите их, чтобы я мог использовать значения в качестве фильтров для страницы каталога магазина.

Любая помощь будет большой.

EDIT: Я углубился в код woocommerce и api docs и только нашел этот код, чтобы вытащить атрибуты.

 global $woocommerce; $attr_tax = $woocommerce->get_attribute_taxonomy_names(); foreach( $attr_tax as $tax ) { echo $woocommerce->attribute_taxonomy_name( $tax->attribute_name ); } 

То, что этот отрывок дает мне, – это только таксономические слизняки, т.е. pa_size и pa_color. Я новичок в woocommerce, но поиск там api docs ничего не показывает о том, как вытащить значения этих атрибутов.

Вы можете использовать get_terms() http://codex.wordpress.org/Function_Reference/get_terms

Если вы перейдете в pa_size или pa_color, вы вернете список терминов в этой таксономии.

Надеясь, что это кому-то поможет:

 global $product; // Get product attributes $attributes = $product->get_attributes(); if ( ! $attributes ) { echo "No attributes"; } foreach ( $attributes as $attribute ) { echo $attribute['name'] . ": "; $product_attributes = array(); $product_attributes = explode('|',$attribute['value']); $attributes_dropdown = '<select>'; foreach ( $product_attributes as $pa ) { $attributes_dropdown .= '<option value="' . $pa . '">' . $pa . '</option>'; } $attributes_dropdown .= '</select>'; echo $attributes_dropdown; } 

Это сообщение было написано некоторое время назад, поэтому я не знаю, использовал ли Woocommerce этот метод в своих предыдущих воплощениях. Для всех, кто хочет это сделать, эта строка – это все, что вам нужно.

$ Продукт-> list_attributes ();

Это позволяет вам настроить заказ и переключить, хотите ли вы отображать изменения в бэкэнд,

В дополнение к ответу @ user5029040, который выводит html, если вы хотите получить массив, вы можете использовать следующую функцию.

 $product->get_variation_attributes();