我有一个循环,我想偏移1,这样就不会显示最新的帖子,还有一个循环,我只需要1个项目,这将是最新的帖子。
以下是我尝试的循环:对于两者:
偏移循环:<?php query_posts(\'offset=1\');
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
以及最近的Post循环:<?php query_posts(\'posts_per_page=1\');
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
当我尝试这个时,页面没有加载,有什么想法吗?
最合适的回答,由SO网友:s_ha_dum 整理而成
这两个都不是完整的循环。也就是说,在这两者中,你都有一个if
但不是它的结束,也不是while
循环,但没有结束。此外,您不应该使用query_posts
或者,因为它重写了主查询,并且很少是拉帖子的正确功能。get_posts
会更好。
我会这样做,以其中一个为例:
<?php $r = get_posts(\'offset=1\');
if ( !empty($r) ) :
foreach ( $r as $post ) :
setup_postdata($post);
// stuff
endforeach;
endif; ?>
这应该可以解决页面未加载的问题。
不过,您可以通过一个循环来完成操作,因为没有偏移量的get\\u posts将拉动所有内容。您只需将第一个元素作为最近发布的帖子,然后循环其余元素。