多个Wordpress循环不同的类别

时间:2015-02-11 12:32:22

标签: wordpress loops

我真的很困惑这是如何工作的,我已经查看了Wordpress文档,但我无论如何都找不到任何简单的东西。我的主索引页面中需要3个循环,每个循环将基于一个类别,并且只需要从该类别中获取最新的帖子。

我的工作正常,但我只是想知道这是否是正确的做法?显然它有效,但是这样做会不会给我带来任何问题呢?有没有正确的方法呢?

//loop 1

<div class="large-4 columns">

<?php query_posts( 'category_name=stories&posts_per_page=1' ); ?>

<?php while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<?php the_content(); ?>
<?php endwhile; ?>

</div>

//loop 2

<div class="large-4 columns">

<?php query_posts( 'category_name=pictures&posts_per_page=1' ); ?>

<?php while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<?php the_content(); ?>
<?php endwhile; ?>

</div>

//loop 3

<div class="large-4 columns">

<?php query_posts( 'category_name=videos&posts_per_page=1' ); ?>

<?php while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<?php the_content(); ?>
<?php endwhile; ?>

</div>

忽略HTML,因为我还没有格式化它。有什么帮助吗?感谢

1 个答案:

答案 0 :(得分:1)

是的,这可能存在问题..您正在修改原始的wordpress查询。您应该忽略使用query_posts。您最好使用以下其中一项。

1。)get_posts ref

2。)自定义wp查询ref

更改     

<?php query_posts( 'category_name=stories&posts_per_page=1' ); ?>

<?php while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<?php the_content(); ?>
<?php endwhile; ?>

</div>

<div class="large-4 columns">
<?php
$the_query = new WP_Query( 'category_name=stories&posts_per_page=1' );
while ( $the_query->have_posts() ) {
    $the_query->the_post();
    the_title();
    the_content();
}
/* Restore original Post Data */
wp_reset_postdata();
/* Added */
?>
</div>