我正在尝试将我的博客内容放入引导标签中,其中每个标签都是一个类别,因此它是一种过滤器。
一切顺利,但我无法动态分离标签上的类别帖子。
这是我的第一个代码,我在其中使标签获取当前类别:(一切都很好)
<ul id="catstab" class="nav nav-tabs nav-stacked cat_list">
<?php $categories = get_categories(); {
foreach($categories as $category){
echo "<li><a href='#" . $category->slug . "' data-toggle='tab'>" . $category->name . "</a></li>";
} // end foreach
}
?>
</ul>
然后我为每个标签创建容器,每个标签内都有一个循环:(这里也很好)
<div id="cattabscontent" class="tab-content">
<?php foreach (get_categories(array('hide_empty'=>false)) as $category)
{
echo '<div class="tab-pane fade" id="' . $category->slug . '">';
echo get_template_part("loop");
echo '</div>';
} ?>
</div>
最后这是我循环中的query_post,这就是我遇到问题的地方,这里我需要的是给类别变量($ current_cat)当前类别的值,所以它会得到正确的帖子每个标签。
<?php query_posts(array(
'category_name' => '$current_cat',
));
?>
<?php if (have_posts()): while (have_posts()) : the_post(); ?>
. . .
我曾经想过给变量赋予他父级ID的值,但我认为不可能仅使用PHP,而且我不知道如何使用AJAX或类似的东西来制作它。
有什么想法吗?
答案 0 :(得分:1)
不要在变量名称周围使用单引号,请使用双引号。单引号将从字面上解释为不扩展为变量的值,因此echo '$var';
将准确地为您提供$var
。设置category_name
参数时,您的代码应使用双引号或无引号,假设$current_cat
等于您要查询的名称。
双引号
'category_name' => "$current_cat",
没有引号
'category_name' => $current_cat,
答案 1 :(得分:0)
尝试使用category__in
这样的参数:
<?php query_posts(array(
'category__in' => '$current_cat_id',
));
?>
<?php if (have_posts()): while (have_posts()) : the_post(); ?>
参数category__in
会显示该类别仅此类别而非的帖子。在这种情况下,您必须使用类别ID。
另一方面,您使用category_name
的参数会显示此类别以及该类别的任何子的帖子。