• Как разбить цикл Wordpress'а на 3 составляющие?

    @smd66 Автор вопроса
    Нашел я способ, оказывается было все намного проще чем я думал, надо было лишь добавить elseif и третья колонка заработала.
    И всё это делалось, чтобы не создавать три цикла WP_Query, т. е. мне нужно было сделать 3 колонки, и в каждую из них поместить записи.
    В первой (first-news) и последней (last-news) использовать the_post_thumbnail( 'medium' ) и the_excerpt, а также вывести только по 1 посту, и в оставшейся (center-news) вывести the_post_thumbnail( 'thumbnail' ) без the_excerpt + в нем должно быть 3 поста.
    Вот код, может кому пригодится:

    Длинный код
    // Создаю цикл
    <?php $news = new WP_Query( 'category_name=news&posts_per_page=5' ); // Применяю условия (в данном случае это отобразить 5 постов в категории 'news')
    if( $news->have_posts() ) : while( $news->have_posts() ) : $news->the_post(); ?>
    
    
    // Первая колонка (тут первая запись)
    <?php if( 0 == $news->current_post ) { ?>
    
    	<div class="first-news">
    		<?php the_post_thumbnail( 'medium' ); ?>
    		<?php the_excerpt(); ?>
    	</div>
    
    
    // Вторая колонка (тут пятая запись)
    <?php } elseif( 4 == $news->current_post ) { ?>
    
    	<div class="last-news">
    		<?php the_post_thumbnail( 'medium' ); ?>
    		<?php the_excerpt(); ?>
    	</div>
    
    <?php } else { ?>
    
    
    // Третья колонка (а тут соответственно с 2 по 4 записи)
    	<?php if( 1 == $news->current_post ) { echo '<div class="center-news">'; } ?>
    
    		<?php the_post_thumbnail( 'thumbnail' ); ?>
    		
    	<?php if ( 3 == $news->current_post ) { echo '</div>'; } ?>
    	
    <?php } endwhile; endif; wp_reset_postdata(); ?> // Завершаю цикл и очищаю

    Ответ написан
    Комментировать