Как выводить посты в разных стилях?
Всем привет) Делаю блог и столкнулся с самим выводом постов) вывожу их через такой цикл
<?php
if(have_posts() ){
while(have_posts()){ the_post();?>
<a href="<?php the_permalink(); ?>" class="article ">
<img src="<?php echo get_the_post_thumbnail_url();?>" alt="photo" class="img_article ">
<div class="discription ">
<div class="wrapper_disc ">
<p class="category"><?php
foreach((get_the_category()) as $category) {
echo $category->cat_name . ' ';
} ?></p>
<h2 class="title"><?php the_title();?></h2>
<p class="text"><?php the_content();?></p>
</div>
</div>
</a>
<?php }//end while
}//end if
?>
И, как я понял, выводить будет все посты в одном стиле(класс имеют article):
Но я ещё хочу чтоб оно выводило и в такой стилизации(класс имеют article-short):
Как это организовать? Один из примеров такого вывода вы можете увидеть на lifehacker.ru
Не понимаю вообще ничего)


Собирайте посты цикла в две разные переменные и потом выводите их значение на экран.
Я бы создал группу полей для данного типа поста и при создании поста выбирал, какой класс мне нужен, а в самом шаблоне вывод выглядел бы так:
<a href="<?php the_permalink(); ?>" class="<?php the_field( 'class_field' ); ?>">
Спасибо всем за ответы. Решил данную проблему, изменив цикл:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php if ( in_category('Long') ): ?> <a href="<?php the_permalink(); ?>" class="article_long"> <img src="<?php echo get_the_post_thumbnail_url();?>" alt="<? the_title();?>" class="img_article_long"> <div class="wrapper_long"> <p class="category_long"><?php $category = get_the_category(); echo $category[1]->name;?></p> <h2 class="title_long"><? the_title();?></h2> </div> </a> <?php elseif(in_category('Short') ): ?> <a href="<?php the_permalink(); ?>" class="article_short"> <img src="<?php echo get_the_post_thumbnail_url();?>" alt="<? the_title();?>" class="img_article_short"> <div class="wrapper_short"> <p class="category_long"><?php $category = get_the_category(); echo $category[1]->name;?></p> <h2 class="title_short"><? the_title();?></h2> </div> </a> <?php else : ?> <a href="<?php the_permalink(); ?>" class="article"> <img src="<?php echo get_the_post_thumbnail_url();?>" alt="<? the_title();?>" class="img_article "> <div class="discription"> <div class="wrapper_disc"> <p class="category"><?php $category = get_the_category(); echo $category[1]->name;?></p> <h2 class="title"><?php the_title();?></h2> <p class="text"><?php the_excerpt();?></p> </div> </div> </a> <?php endif; ?>То есть, я просто буду присваивать категорию, к примеру, short и в такой стилистике он и будет его выводить) Конечно, категория short не будет выводиться в поле категории поста. по-этому там присутсвует такой код, который выводит вторую по счёту категорию(к примеру, спорт и фитнес) код ниже
Это я объяснил тем, кто тоже может задавался данным вопросов про вывод постов в разных стилях