我想知道如何防止显示子类别帖子。我的主页列出了三个“主要类别”(父类别)的所有帖子,但不幸的是,它还列出了子类别中的一些帖子。
以下是我用于获取特定类别帖子的代码:
<h2>Category Name</h2>
<ul>
<?php $category_query = new WP_Query(array('category_name' => 'category1', 'showposts' => 5)); ?>
<?php while ($profissionais_query->have_posts()) : $profissionais_query->the_post(); ?>
<li>
<a class="title" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php the_excerpt(); ?>
</li>
<?php endwhile; ?>
</ul>
有没有人有想法?
谢谢。
答案 0 :(得分:1)
尝试这种新查询方式;它只显示一个类别。它可以在页面或帖子中使用多个时间(启用php执行)而不会发生冲突:
<?php $my_query = new WP_Query('category_name=mycategory&showposts=5'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
<?php the_title(); ?></a>
<?php the_excerpt(); ?>
<?php endwhile; ?>
答案 1 :(得分:1)
这应该有效:
<?php $category_ID = $cat; // get ID of current category ?>
<?php $excludes = get_categories('child_of='.$category_ID) ;
// For each child, add just the ID to an array
foreach ( $excludes as $key => $value ){
$exs[] = $value->cat_ID;
}
$my_query = new WP_Query(array(
'cat' => $category_ID,
'category__not_in' => $exs
));
if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post();
?>
答案 2 :(得分:0)
以下代码仅显示当前类别的帖子
<?php
$current_cat = get_query_var('cat');
$args=array(
'category__in' => array($current_cat),
'showposts' => 5
);
query_posts($args);
set_query_var("cat",$current_cat);
if (have_posts()) :
while (have_posts()) : the_post();
?>
<a class="title" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php the_excerpt(); ?>
<?php
endwhile;
else :
?>
<h2>Nothing found</h2>
<?php
endif;
?>