Как сделать первый пост в цикле стилизованным, как «новый / признанный» пост?

Надеюсь, я смогу объяснить это право, что я пытаюсь сделать, это использовать цикл пресса по умолчанию, чтобы показывать все мои сообщения и т. Д., Но для первого сообщения я хотел бы, чтобы он был совершенно иным, в зависимости от того, какая родительская категория была опубликована в, поэтому в этом первом посте будет много чего.

Прямо сейчас я немного понимаю, что с помощью 2 циклов, которые оба выходят из значения по умолчанию, первый цикл – это моя «новая / Featured» почтовая область и устанавливается в posts_per_page = 1, тогда второй цикл является вашим стандартным циклом, но проблема, с которой я сталкиваюсь, очевидно, показывает повторяющиеся сообщения, теперь я попробовал смещение = 1 во втором цикле, но тогда моя разбивка на страницы не работает, любая помощь или направление будут потрясающими, я знаю, что это очень жаль. ниже мой код для обоих циклов и ссылка на мой сайт для тестирования спасибо!

1-й (новый / признанный) цикл:

<?php $custom_query = new WP_Query('posts_per_page=1'); while($custom_query->have_posts()) : $custom_query->the_post(); ?> <?php $parent_cat = array(); $post_cats = get_the_category($post->ID); foreach( $post_cats as $post_cat ) { if( $post_cat->parent ) $parent_cat[] = get_category( $post_cat->parent )->slug; } ?> <!--CONTENT HERE--> <?php endwhile; ?> <?php wp_reset_postdata(); // reset the query ?> <?php } else { ?> 

Второй (стандартный) цикл:

 <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <!--CONTENT HERE--> <?php endwhile; else: ?> <?php _e('Sorry, no posts matched your criteria.'); ?> <?php endif; ?> 

Вот ссылка на сайт dev, вы можете увидеть, что я говорю о http://themes.thefragilemachine.com/gone/

спасибо за любую помощь!

Solutions Collecting From Web of "Как сделать первый пост в цикле стилизованным, как «новый / признанный» пост?"

должен работать один цикл с условным заявлением, чтобы поймать первый пост; пример:

 <?php if( $wp_query->current_post == 0 && !is_paged() ) : ?> /*the output of the first post*? <?php else : ?> /*the output of all other posts*/ <?php endif; ?> 

Просто добавьте переменную, которая будет работать только один раз с PHP, например:

 <?php $custom_query = new WP_Query('posts_per_page=1'); $i = 0; while($custom_query->have_posts()) : $custom_query->the_post(); ?> <?php if($i==0){ // do - echo whatever you want $i++; } else { // rest of the posts } ?> <?php endwhile; ?> <?php wp_reset_postdata(); // reset the query ?> 

Просто проверьте значение current_post

 if(0 == $custom_query->current_post){ /**is the first post**/ }