Я не знаю, как работает ваш woocommerce show attribute
Но вот примерно так работает стандартная woo функция чуть подпилена для того, что бы вы могли задать сколько атрибутов надо. И сразу добавлен вывод.
так делать конечно не стоит с точки зрения красоты кода, но насколько я понимаю, вам на это наплевать плюс все видно сразу в одном месте, при необходимости увидев как оно работает, можете сделать как нравится
function wpp_get_product_attributes( $product = null, $count = null ) {
if ( empty( $product ) ) :
global $product;
endif;
$attributes = array_filter( $product->get_attributes(), 'wc_attributes_array_filter_visible' );
$i = 1;
foreach ( $attributes as $attribute ) {
if ( ! empty( (int) $count ) && (int) $count > $i ) {
break;
}
$values = [];
if ( $attribute->is_taxonomy() ) {
$attribute_taxonomy = $attribute->get_taxonomy_object();
$attribute_values = wc_get_product_terms( $product->get_id(), $attribute->get_name(), [ 'fields' => 'all' ] );
foreach ( $attribute_values as $attribute_value ) {
$value_name = esc_html( $attribute_value->name );
if ( $attribute_taxonomy->attribute_public ) {
$values[] = '<a href="' . esc_url( get_term_link( $attribute_value->term_id, $attribute->get_name() ) ) . '" rel="tag">' . $value_name . '</a>';
} else {
$values[] = $value_name;
}
}
} else {
$values = $attribute->get_options();
foreach ( $values as &$value ) {
$value = make_clickable( esc_html( $value ) );
}
}
$product_attributes[ 'attribute_' . sanitize_title_with_dashes( $attribute->get_name() ) ] = [
'label' => wc_attribute_label( $attribute->get_name() ),
'value' => apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values ),
];
$i ++;
}
$product_attributes = apply_filters( 'woocommerce_display_product_attributes', $product_attributes, $product );
?>
<table class="woocommerce-product-attributes shop_attributes">
<?php foreach ( $product_attributes as $product_attribute_key => $product_attribute ) : ?>
<tr class="woocommerce-product-attributes-item woocommerce-product-attributes-item--<?php echo esc_attr( $product_attribute_key ); ?>">
<th class="woocommerce-product-attributes-item__label"><?php echo wp_kses_post( $product_attribute['label'] ); ?></th>
<td class="woocommerce-product-attributes-item__value"><?php echo wp_kses_post( $product_attribute['value'] ); ?></td>
</tr>
<?php endforeach; ?>
</table>
<?php
}