pro100taa
@pro100taa

Как вывести категории товаров в цикле wordpress?

Как вывести товары через цикл понятно:

<?php $query = new WP_Query( 
    array( 'post_type' => 'product', 'posts_per_page' => 4) 
);
					
				
					
if( $query->have_posts())
     { while( $query->have_posts() ){ $query->the_post(); 
          
            ?>
	 <?php the_title(); ?>
					
     <?php } /* конец while */ ?>
                                                    
                                            
      <?php
        } // конец if
        else 
        echo "<h2>Записей нет.</h2>";
       ?>


А как вывести категории товаров, а вернее их элементы в заданном месте? Надо, чтобы выводился заголовок категории, ее url и миниатюра.
  • Вопрос задан
  • 224 просмотра
Решения вопроса 1
pro100taa
@pro100taa Автор вопроса
Вопрос решился. Надо через другой код выводить:

$args = array(
    'taxonomy' => 'product_cat', // указываем таксономию товаров
    'hide_empty' => false, // показываем пустые категории
);
$terms = get_terms( $args ); // получаем список категорий

if ( $terms && ! is_wp_error( $terms ) ) : // если категории найдены
    foreach ( $terms as $term ) { // перебираем категории
        $term_link = get_term_link( $term ); // получаем URL категории
        $term_thumb_url = get_woocommerce_term_meta( $term->term_id, 'thumbnail_id', true ); // получаем ID изображения миниатюры

        echo '<h2><a href="' . esc_url( $term_link ) . '">' . esc_html( $term->name ) . '</a></h2>'; // выводим заголовок и URL категории
        if ( $term_thumb_url ) {
            echo wp_get_attachment_image( $term_thumb_url, 'thumbnail' ); // выводим миниатюру, если она есть
        }
    }
else :
    echo '<p>Категорий не найдено.</p>';
endif;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы