WHILE循环项目-IF语句顺序

时间:2013-07-09 作者:NETCreator Hosting - WebDesign

我想显示文章列表,但我想在第一个位置显示我的第二篇文章,然后是最后一篇。

例:第1条第2条第3条第4条待定:第2条第1条第3条第4条

我正在使用这个while循环:

<?php
$i = 0;
$the_query = new WP_Query( \'showposts=35&offset=0\' );
while ($the_query -> have_posts()) : $the_query -> the_post();
$i++;
if ($i==2) {
echo \'Article2: \'.the_title();
}
if ($i==1) {
echo \'Article1: \'.the_title();
}
endwhile;
?>
但结果是:第1条第2条

我想呈现这个:Article2 Article1

提前感谢您!

PS:我想这样做是因为我想要不同位置的文章(如CNN),我不想重复WP\\U查询主页上的所有34篇文章。。。因此,我使用if语句。

如果你认为这不是一个好问题,请不要问我,如果你愿意,我会删除我的帖子。

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

在循环查询之前准备查询:

$first  = array_shift( $the_query->posts );
$second = array_shift( $the_query->posts );

// now re-add in reverse order
array_unshift( $the_query->posts, $first );
array_unshift( $the_query->posts, $second ); // this is now the first item

while ($the_query -> have_posts()) : $the_query -> the_post(); // regular loop

SO网友:thomascharbit

您可以使用$访问帖子数组,\\u query->posts:

<?php
    $i = 0;
    $the_query = new WP_Query( \'showposts=35&offset=0\' );
    // swap post 1 with post 2
    $temp_post = $the_query->posts[0];
    $the_query->posts[0] = $the_query->posts[1];
    $the_query->posts[1] = $temp_post;
    while ($the_query->have_posts()) : $the_query ->the_post(); ?>
       // do your regular loop
<?php endwhile; ?>

结束

相关推荐

Pagination posts. Url format

我对很长的帖子使用分页。所以我这里有个问题。我对标准的utl结构不满意(在我的项目中,这有几个个人原因)。例如,我有帖子/post.htm 我需要拿到它的第二页/post2.htm 不是/post.htm/2 我确信我不会用slug post2创建帖子/页面我如何才能以这种方式更改标准url?我试过这个add_action( \'init\', \'wpa5413_init\' ); function wpa5413_init() { add_