Задать вопрос
@andreypodkovyrov

Как сделать правильно вложенный цикл вордпресс?

8777adfd3d124b72973ad67293158c45.jpg

На картинке отображены серым записи основного цикла, с их выводом все в порядке. Есть задача в одном диве с записью выводит две записи с одним тегом — на рисунке красные маленькие прямоугольнички. Для этого вставил в файл content.php дополнительный цикл. Записи выводятся, но не правильным образом — только 2 последние, а нужно по порядку.

index.php Основной loop

<?php /* The loop */ ?>
			<?php query_posts(); ?> 
			<?php while ( have_posts() ) : the_post(); ?>
			
			
	

				<?php get_template_part( 'content', get_post_format() ); ?>
			<?php endwhile; ?>


		<?php else : ?>
			<?php get_template_part( 'content', 'none' ); ?>
		<?php endif; ?>


content.php

<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
	
	<article>
	<?php the_post_thumbnail(array( 300, 200 ), array( 'class' => 'alignleft' )); ?>
	<div class="categorytitle"><?php the_category(', '); ?><?php the_views(); ?></div>
	<header>
		<h2><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
	</header>
			<?php
			the_excerpt();
			wp_link_pages();
		?>
		
	</article>
	
	
	
	
<?php $args = array(
	'showposts' => 2
	,'tag' => 'status'
	,'offset' => 2
	,'post_per_page' => 4
);

$query = new WP_Query( $args );

// Цикл
if ( $query->have_posts() ) {
	while ( $query->have_posts() ) {
		$query->the_post();
		echo '<li>' . get_the_title() . '</li>';
	}
} else {
	// Постов не найдено
}

wp_reset_postdata();

?>
	





</div>


В итоге получаю, одинаковые записи под основными постами.

Как сделать, так чтобы они выводились так же в цикле.

Объясняю хреново, полдня и полночи бьюсь с задачей, с вордпрессом работаю впервые.
  • Вопрос задан
  • 3030 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Вне основного цикла заведите переменную - номер лупа, которую инкрементируйте в конце каждого прохода. $args надо переписать: оставьте tag=status и showposts=2, а offset=2 * номер лупа.
Ответ написан
Ваш ответ на вопрос

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

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