我正在尝试运行一个循环,只查询我的wordpress中的特定类别。这就是我所拥有的,但它显示了我的所有帖子,而不仅仅是我在“推荐”类别下的帖子
<div class="row">
<?php if (is_page()) {
$cat=get_cat_ID($post->post_title); //use page title to get a category ID
$posts = get_posts ('cat=$cat&showposts=5');
if ($posts) {
foreach ($posts as $post):
setup_postdata($post); ?>
<div class="col-sm-12">
<div class="box" data-toggle="modal" data-target="#myModal1">
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
</div>
</div>
<?php endforeach;
}
}?>
</div>
请任何帮助都会很棒, 日Thnx
答案 0 :(得分:2)
这是因为发送给get_posts
的参数不正确。尝试:
$posts = get_posts(array(
'category'=>$cat,
'posts_per_page'=>5, //This changes how many posts are returned
'offset' => 0, //This changes where it search starts from
);
还有一种更好的方式来获得帖子类别:
$cat = get_the_category();
您不必将帖子ID传递给它,因为它会默认为当前$post->ID
。
您可以结帐documentation here
在foreach循环中使用$post
可能也是一个坏主意,因为这会覆盖global $post
变量。您可能希望使用$curPost