如何让循环中的第一个帖子看起来像“新的/特色的”帖子?

时间:2011-10-26 作者:The Fragile Machine

我希望我能正确解释这一点,我想做的是使用默认的单词press循环来显示我的所有帖子等。。但是对于第一篇文章,我希望它的风格完全不同,这取决于它发布的父类别,所以在第一篇文章中会有很多内容。

现在,我正在通过使用两个循环来实现这一点,这两个循环都是从默认值中提取的,第一个循环是我的“新/特色”帖子区域,设置为posts\\u per\\u page=1,然后第二个循环是你的标准循环,但我遇到的问题是,它显然显示了重复的帖子,现在我尝试在第二个循环中使用offset=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; ?>
这里有一个开发网站的链接,你可以看到我在说什么http://themes.thefragilemachine.com/gone/

谢谢你的帮助!

3 个回复
最合适的回答,由SO网友:Michael 整理而成

一个带有条件语句的循环可以捕获第一个帖子;示例:

<?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; ?>

SO网友:kevin

只需添加一个在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 ?>

SO网友:Maxwell s.c

只需检查current_post 价值

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

结束

相关推荐

在使用GET_POSTS()时,我可以同时使用number post=-1和Offset吗?

我目前正在使用get\\u posts()作为我正在处理的主题的一小部分。然而,我遇到了一个小问题。If I want to show all posts for a category, I set the \'numberposts\' argument to \'-1\'. However the issue is that when I do this, the offset no longer works. 我确实看到我告诉函数返回所有帖子,但我希望它不会返回所有帖子。因此,我确实看到了逻辑上的两