按分类术语自定义POST类型多循环

时间:2011-10-30 作者:Diane

我想创建一个循环,列出每个分类术语的自定义帖子:

术语A:ItemItemItem

术语B:ItemItemItem

我希望这是完全动态的,所以如果我添加一个新的术语,它会自动出现。我见过一些例子,其中分类术语在代码中是明确的,但我正在寻找一些维护更少、更优雅的东西。

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

尝试:

$tt = get_terms(\'my_custom_taxonomy\', array(
    // You can stick in orderby, order, exclude, child_of, etc. params here.
));

foreach ($tt as $term) :
    // Output term name
    print $term->name.  ": ";

    $q = new WP_Query(array(
        \'post_type\' => \'custom_post_type_i_use\',
        \'post_status\' => \'publish\',
        \'posts_per_page\' => -1, // = all of \'em
        \'tax_query\' => array(
            \'taxonomy\' => $term->taxonomy,
            \'terms\' => array( $term->term_id ),
            \'field\' => \'term_id\',
        ),
    ));

    $first = true;
    foreach ($q->posts as $item) :
        // ... now do something with $item, for example: ...
        if ($first) : $first = false; else : print ", "; endif;
        print \'<a href="\'.get_permalink($item->ID).\'">\'
          .$item->post_title.\'</a>\';
    endforeach;
endforeach;
这或多或少能满足你的需要吗?

结束