@ole92

Как вывести категории и под категории, и все статьи?

Всем привет. Уже не раз сталкиваюсь с данной задачей и решения не нашел. Буду рад любому совету.

Задача:
Есть категории и под категории в них товары. У товаров должна быть отдельная страница. Организовывать планирую постами. Но вот не могу сообразить как вывести все категории, под категории и товары в них. То есть структура такая.

Главная категория >
Подкатегория >
- Товар;
- Товар;
- Товар:

Главная категория 2>
Подкатегория >
- Товар;
- Товар;
- Товар:

Главная категория 3>
Подкатегория >
- Товар;
- Товар;
- Товар:

Вот сам макет:
5b5705024fe25250456501.png
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix
Java Software Engineer
Здравствуйте!
Вам необходимо использовать цикл в цикле...
Например, при помощи foreach получаете категории и субкатегории, а потом while'ом получаете статьи.

Простой пример, который выводит Категории и записи для них
<?php 	$post_type = 'product';
		$product_args = array(
				'taxonomy' => 'product_cat',
				'hide_empty' => true,
				);
			  $terms = get_terms( $product_args );
			    foreach( $terms as $term ) : ?>
			        <div class="title"><span><?php echo $term->name; ?></span></div>
			        <?php $args = array(
			                'post_type' => $post_type,
			                'posts_per_page' => -1,  //show all posts
			                'tax_query' => array(
			                    array(
			                        'taxonomy' => 'product_cat',
			                        'field' => 'slug',
			                        'terms' => $term->slug,
			                    )
			                )
			            );?>
			        <?php $posts = new WP_Query($args);
			        if( $posts->have_posts() ): while( $posts->have_posts() ) : $posts->the_post(); ?>
			 			<div class="catalog-all-product">
		                	<div class="images">
			                    <?php the_post_thumbnail(); ?>
		                	</div>
		                    <div class="name">
		                    	<a href="<?php echo get_permalink(); ?>"><?php echo get_the_title(); ?></a>
		                    </div>
		                </div>
			        <?php endwhile; endif; ?>
<?php endforeach; ?>


Источник - https://gist.github.com/DevinWalker/6fb2783c05b46a...
https://stackoverflow.com/questions/1780386/loopin...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы