Добавьте этот код в файл functions.php дочерней темы или используйте плагин, который позволяет добавлять пользовательский код, например Code Snippets.
Не рекомендуется добавлять код напрямую в functions.php родительской темы — при обновлении он будет перезаписан.
WooCommerce версии 3.0+
<?php
/**
* Отображение ссылок на архивы атрибутов товара
*/
add_action( 'woocommerce_product_meta_end', 'wc_show_attribute_links' );
// если нужно вывести на странице архива товаров, замените "woocommerce_product_meta_end" на "woocommerce_shop_loop_item_title"
function wc_show_attribute_links() {
global $post;
// Укажите названия атрибутов (обязательно с префиксом pa_)
$attribute_names = array( '<ATTRIBUTE_NAME>', '<ANOTHER_ATTRIBUTE_NAME>' );
foreach ( $attribute_names as $attribute_name ) {
$taxonomy = get_taxonomy( $attribute_name );
if ( $taxonomy && ! is_wp_error( $taxonomy ) ) {
$terms = wp_get_post_terms( $post->ID, $attribute_name );
$terms_array = array();
if ( ! empty( $terms ) ) {
foreach ( $terms as $term ) {
$archive_link = get_term_link( $term->slug, $attribute_name );
$full_line = '<a href="' . $archive_link . '">' . $term->name . '</a>';
array_push( $terms_array, $full_line );
}
echo $taxonomy->labels->name . ': ' . implode( ', ', $terms_array );
}
}
}
}
WooCommerce ниже версии 3.0
<?php
/**
* Отображение размеров товара на страницах архива для WooCommerce 3 и ниже
*/
add_action( 'woocommerce_after_shop_loop_item_title', 'wc_show_dimensions', 9 );
function wc_show_dimensions() {
global $product;
$dimensions = $product->get_dimensions();
if ( ! empty( $dimensions ) ) {
echo '<span class="dimensions">Размеры: ' . $dimensions . '</span>';
}
}
