我真的很困惑这是如何工作的,我已经查看了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,因为我还没有格式化它。有什么帮助吗?感谢
答案 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>