webbuddu
@webbuddu
Начинающий.

Как вывести название рубрики, а под ней посты в цикле для всех рубрик, wordpress?

Не могу вывести так:

Рубрика 1
Пост 1-й из рубрика 1
Рубрика 2
Пост 1-й из рубрика 2
Пост 2-й из рубрика 2
Пост 3-й из рубрика 2
Рубрика 3
Пост 1-й из рубрика 3
Пост 2-й из рубрика 3

Мой код выводит только название рубрик, а посты относящиеся к ней не показывает.

<?php 
$arg_cat = array(
	//'orderby'      => 'name',
	'order'        => 'ASC',
	'hide_empty'   => 1,
	'exclude'      => '',
	'include'      => '',
	'taxonomy'     => 'prodcat',
);
$categories = get_categories( $arg_cat );
?>
	<article class="article-post">
		<div id="content_box" >
		<?php if( $categories ){foreach( $categories as $cat ){
				
			$arg_posts =  array(
				// 'orderby'      => 'name',
        'post_type' => 'products',
        'post_status' => 'publish',
		    'posts_per_page' => -1,
	    	'order'    => 'DESC',
				'cat' => $cat->cat_ID,
			);
			$query = new WP_Query($arg_posts);
	
			?>
			<?php if ($query->have_posts() ) ?>
				<h2><?php echo $cat->name; ?> </h2>
			<?php while ( $query->have_posts() ) : $query->the_post(); ?>
							<div class="main-page-post">
							<?php the_title(); ?>
							</div>

			<?php endwhile?>
			<?php		
				}
			}
			?>
		</div>
	</article>
  • Вопрос задан
  • 428 просмотров
Решения вопроса 1
webbuddu
@webbuddu Автор вопроса
Начинающий.
РЕШЕНИЕ:
<?php 
$arg_cat = array(
	//'orderby'      => 'name',
	'order'        => 'ASC',
	'hide_empty'   => 1,
	'exclude'      => '',
	'include'      => '',
	'taxonomy'     => 'pricecat',
);
$categories = get_terms( $arg_cat );
// var_dump( $categories );
?>
	<article class="article-post">
		<div id="content_box" >
		<?php if( $categories ){foreach( $categories as $cat ){
				
			$arg_posts =  array(
				// 'orderby'      => 'name',
            'post_type' => 'price',
            'post_status' => 'publish',
		    'posts_per_page' => -1,
			'order'    => 'DESC',
			'tax_query' => array(
				array(
					'taxonomy' => 'pricecat',
					'field'    => 'slug',
					'terms'    => $cat->slug,
				)
				),
			);
			$query = new WP_Query($arg_posts);
	
			?>
			<?php if ($query->have_posts() ) ?>
				<h2><?php echo $cat->name; ?> </h2>
			<?php while ( $query->have_posts() ) : $query->the_post(); ?>
							<div class="main-page-post">
							<?php the_title(); ?>
							</div>

			<?php endwhile?>
			<?php		
				}
			}
			?>
		</div>
	</article>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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