获取所有帖子类型的所有分类

时间:2015-04-15 作者:freaky

我想获得每个(自定义)帖子类型的所有可用分类法。我的目标是为每个帖子类型、每个分类法(如类别、标记)列出,并为每个分类法列出所有注册术语(和ID),以及每个术语的项数,。。。

我想输出这样的内容:

post
   Categories
      cat1 (2)
      cat2 (1)
   Tags
      Tag1 (5)
      Tag2 (3)
portfolio
   Attributes
      att1 (2)
      att2 (1)
      att3 (5)
      att4 (9)
   Categories
      cat1 (2)
      cat2 (4)
      cat2 (1)
   Tags
      Tag1 (5)
      Tag2 (3)
....
我现在不知道做这件事的正确和最好的方法是什么。这比我想象的要复杂一点,我没有找到解决办法。

1 个回复
SO网友:mrbobbybryant

我建议使用get\\u post\\u type查询所有帖子类型的列表。使用该数组,您可以执行foreach。对于每个帖子类型,使用get\\u term查询所有术语。它看起来像这样,但您应该将get\\u post\\u type传递给您知道的post type,因为从目前的情况来看,它还将显示附件和导航菜单之类的内容。

function agency_wp_test() {
    $post_types = get_post_types(); 

    foreach ( $post_types as $post_type ) {
        $taxonomy_names = get_object_taxonomies( $post_type );

        $terms = get_terms( $taxonomy_names, array( \'hide_empty\' => false ));
         if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
             echo \'<h5>\'.$post_type.\'</h5>\';
             echo \'<ul>\';
             foreach ( $terms as $term ) {
               echo \'<li>\' . $term->name . \'</li>\';

            }
            echo \'</ul>\';
        }
    }
}

结束

相关推荐

Creating a Taxonomy Page

我正绞尽脑汁想如何设置分类法模板页面。我的目标是为我创建的自定义分类创建一个分类归档。该页面只需要包含分类法中所有术语的列表。我的主要问题不是创建列表,而是正确命名文件。这个文件不是叫做分类法吗。php。一旦创建了此页面,我将如何查看它。