我有一个代码来运行循环来获取特定类别的三个帖子。现在,当我运行此代码时,它可以正常工作,但另一个循环无法正常工作。被破坏的循环是一个循环,只需获取single.php的内容。
换句话说,下面的代码(用于特定于类别的循环)只会导致single.php页面中的另一个脚本失败。但它适用于所有其他页面。这个问题的原因是什么?非常感谢
query_posts('in_category=پیشنهاد&posts_per_page=3');
if( have_posts() ) : while(have_posts() ) : the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>">
<div class='entry-suggested-title'>
<p><?php the_title();?></p>
</div>
<div class='entry-suggested-image'>
<?php
the_post_thumbnail(array(182,182), array('alt'=>get_the_title()));
the_title();
?>
</div>
</a>
</li>
<?php
endwhile;
endif;
?>
</ul>
答案 0 :(得分:0)
请使用WP_Query
课程代替query_posts();
(Why?)。
没有in_category
参数,它应该是category__in
。
$args = array(
'category__in' => array( 4 ),
'posts_per_page' => 5
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) : while( $query->have_posts() ) : $query->the_post();
the_title()
the_permalink();
endwhile; endif;
in_category();
是Conditional Tag
,应该在循环中使用:
if( have_posts() ) : while( have_posts() ) : the_post();
if( in_category( '4' ){
//Do something with the post that belong to category ID 4
}else{
//Do something else
}
endwhile; endif;
希望它有所帮助!