Отображение размеров товара на страницах архива

Добавьте этот код в файл 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 &amp;&amp; ! is_wp_error( $taxonomy ) ) {

            $terms = wp_get_post_terms( $post-&gt;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>';
    }
}

Поделиться с друзьями
Документация WooCommerce