只在类别下列出帖子,不包括子类别内容

时间:2013-05-17 作者:Naveen Narale

我想列出直接属于某个类别而不属于“子类别”的帖子。换句话说,我想在父类别视图中隐藏来自“子类别”的所有帖子。

我的循环代码如下。

<?php rewind_posts(); if (have_posts()) : while ( have_posts() ) : the_post(); global $post; ?>
            <?php get_template_part(\'includes/loop\'); ?>
        <?php endwhile; wp_reset_query(); ?>    

<!-- loop.php -->

<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

    <a href="<?php the_permalink(); ?>" rel="bookmark">
        <?php the_post_thumbnail(\'home-entry-thumb\', array(\'class\' => \'entry-thumb\')); ?>
    </a>

    <h2 class="entry-title"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>


    <div class="entry-excerpt">
         <?php the_excerpt(); ?>  
        <?php wp_link_pages( array( \'before\' => \'<div class="page-link">\' . __( \'Pages:\', \'themejunkie\' ), \'after\' => \'</div>\' ) ); ?>          
    </div><!-- .entry-excerpt -->

    <div class="clear"></div>

</div><!-- #post-<?php the_ID(); ?> --> 

1 个回复
SO网友:Ravinder Kumar

要解决此问题,可以创建page template, 在此页面模板上

1.仅获取顶级类别,将父值设置为零

$args = array(
  \'orderby\' => \'name\',
  \'parent\' => 0
  );
$categories = get_categories( $args );
2。获取所有父类别中的帖子

foreach ( $categories as $category ) {
    $all_posts=get_post(\'category=\'.$category->term_id);
    foreach( $myposts as $post ){
      setup_postdata($post)
        echo\'<li>\';\'
        echo\'<a href="\'.the_permalink().\'">\'.the_title().\'</a>\';\'
        echo\'</li>\';\'
    }
}
3。如果不想创建页面模板,则

在类别中。php(根据您的设计要求进行修改)

 // Get children categories of current cat if they exist
if ( $excludes = get_categories( "child_of=" . $wp_query->get( \'cat\' ) ) ) {
    // For each child, add just the ID to an array
    foreach ( $excludes as $key => $value ) {
        $exs[] = $value->term_taxonomy_id;
    }
}

// In Loop
if(have_post()){
    while(have_posts()){
        the_post();
        //get all category of current post
        $categories = get_the_category();
        foreach($categories as $category) {
            //check if any category is child category of current category 
            if( in_array($category,$exs) )
                continue;
        }
        the_title();
    }
}

结束

相关推荐

Categories to A News Page

我正在尝试使用类别来让我的所有帖子(在类别新闻中)转到我网站的新闻页面。我用一些帖子和一个“分类新闻”创建了“新闻”类别。从类别复制的php文件。php,但我不知道如何让帖子转到新闻页面。我试着从不同的论坛上模仿那些试图做类似事情的人的步骤,但我没有成功地复制他们。如果我转到我的页面。我可以在那里看到我的帖子。但我想做的是转到我的页面。com/news和类别将在那里。有人知道我需要采取什么进一步的措施才能使这项工作正常进行吗?谢谢西亚兰