List of Posts and Categories

时间:2013-10-04 作者:neoian

我有一个自定义的物种分类法和一个自定义的动物post类型。我想在树状视图中显示它们,如下所示:

所有动物

Fish (taxonomy term)

<鲨鱼(自定义贴子类型)
  • 太阳鱼

    Mammals

    <猴子斑马列表中的每个项目都将链接到各自的位置。因此,自定义帖子类型链接到动物,分类术语转到分类页面。我知道WordPress列出类别的方法,但我也希望将帖子分组到每个类别下(自定义分类法)。

  • 1 个回复
    最合适的回答,由SO网友:Sagive 整理而成

    Hey @neoian - what you need is a 2 step process.

    <循环类别/术语,然后在每个类别/术语内查询帖子。

    $terms = get_terms("some_taxonomy");
    $count = count($terms);
    
    if ( $count > 0 ){
        foreach ( $terms as $term ) {
    
        $term_link = get_term_link( $term, \'some_taxonomy\' );
    
            echo \'<h4 class="termTitle"><a href="\'.$term_link.\'">\' . $term->name . \'</a></h4>\';
            $loop = new WP_Query( array( 
                \'post_type\' => \'some_postype\',
                \'posts_per_page\' => 1000,
                \'orderby\' => \'date\',
                \'order\' => \'ASC\',
                \'tax_query\' => array(
                    array(
                        \'taxonomy\' => \'some_taxonomy\',
                        \'field\' => \'id\',
                        \'terms\' => $term->term_id
                    )
                )
            ));
    
            // the loop
            echo \'<ul>\';
            while ($loop->have_posts()) : $loop->the_post();
    
                // get posts inside term
                $postID     = $loop->post->ID;
                $postTitle  = $loop->post->post_title;
    
                echo \'<li><a href="\'.get_permalink().\'">\'.get_the_title().\'</a></li>\';
    
            endwhile;
            // reset $post so that the rest of the template is in the original context
            wp_reset_postdata();
            echo \'</ul>\';
        }
    }
    
    remember to:
    将“some\\u taxonomy”更改为所需的分类,并将“some\\u postype”更改为您的自定义帖子类型。。。

    结束

    相关推荐

    使用Get_Categories选择菜单下拉菜单的自定义小部件

    我创建了一个自定义小部件,它应该显示一个包含博客所有类别的选择菜单。我使用get\\u categories来编译列表。这很好,所有类别都显示在下拉菜单中。每次我保存并刷新小部件页面时,自定义小部件就不再存在了。我检查过了function update 那里一切都很好。所以我想这一定是我创建表单的方式。有什么想法吗?提前谢谢。我不想转储所有代码,所以我只粘贴了创建表单的函数。如果你需要更多,请发表评论function form( $instance ) { /* Default