缺少前6个帖子,并显示最近6个帖子之后的帖子

时间:2012-09-17 作者:Owen O\'Neill

是否可以运行一个数组,不显示前6篇文章,但显示标记为7-15的文章?

这样我就可以在其他地方显示前6篇文章,然后在其他地方显示其余的?

更多信息:

我在这里有一个网站:http://universitycompare.com/student-info 我希望网站在图片中显示前6篇文章,然后在“更多文章”部分显示其余的文本。

如果需要更多的帮助来回答,请告诉我,对这个问题的控制越强越好,所以我想单独运行它们。

如果您需要了解我正在使用的PHP,请参阅下面的内容:(我已经在其中留下了HTML标记,因此您知道我是如何更改它的样式的)。

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

    <?php $the_query = new WP_Query( \'showposts=6\' ); ?>
    <?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>

    <div class="si-biplace">
    <div class="si-image">
    <a href="<?php the_permalink() ?>">
    <?php if ( has_post_thumbnail() )
    the_post_thumbnail(\'si-images\');?>
    </a>
    </div>

    <div class="si-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></div>

    <div class="si-date">&nbsp;Date:&nbsp; 
    <a style="color:#154157;" href="<?php the_permalink() ?>">
    <?php the_time( get_option( \'date_format\' ) ) ?>
    </a>
    </div>
    </div>
    <?php endwhile;?>

    <div class="clear"></div>           


    <?php endwhile; endif; ?>

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

您不需要对它们进行单独的查询。查询所有12篇文章,当您在第一节中输出它们时,仅在以下情况下输出它们$wp_query->current_post < 6, 然后rewind_posts() 然后再次运行循环,仅在以下情况下在第二部分中输出它们$wp_query->current_post > 5. 如果使用自定义WP_Query, 交换$wp_query 使用自定义查询对象的名称。使用检查当前输出的帖子的方法,您甚至可以在一个循环中完成。

EDIT - 实例请注意current_post 从零开始,所以在第六根柱子上等于5:

$the_query = new WP_Query( array(
    \'posts_per_page\' => 15
) );

while ( $the_query->have_posts() ) :
    $the_query->the_post();

    if( $the_query->current_post < 6 ) :

        // This is one of the first 6 posts
        // Output the thumbnail, title, etc..

    endif;

    if( $the_query->current_post == 5 ) :

        // The sixth post has been output,
        // output the header/opening container
        // for all the other posts

    endif;

    if( $the_query->current_post > 5 ) :

        // This is post 7 and greater
        // Output just the title, etc..

    endif;

endwhile;
Example 2 - 使用rewind_posts 并运行相同的循环两次:

$the_query = new WP_Query( array(
    \'posts_per_page\' => 15
) );

while ( $the_query->have_posts() ) :
    $the_query->the_post();

    if( $the_query->current_post < 6 ) :

        // This is one of the first 6 posts
        // Output the thumbnail, title, etc..

    endif;

endwhile;

// rewind the loop to run it again
$the_query->rewind_posts();

while ( $the_query->have_posts() ) :
    $the_query->the_post();

    if( $the_query->current_post > 5 ) :

        // This is post 7 and greater
        // Output just the title, etc..

    endif;

endwhile;

SO网友:xsonic

我会运行两个不同的查询,第一个是\'showposts\' => 6 第二个是offset 参数

http://codex.wordpress.org/Template_Tags/get_posts#Posts_list_with_offset

只需添加\'offset\'=> 6 转到您对“更多文章”的查询

结束

相关推荐

List author's posts with SQL

我想用下面的代码显示作者的帖子,但不显示作者的姓名。怎么了?<? // query test $qry = $wpdb->get_results( $wpdb->prepare(\" SELECT * FROM $wpdb->posts WHERE post_type =\'post\' AND post_status=\'publish\' order by \'ID\' DESC LIMIT 5 \"));