使用post id wordpress显示分配给自定义帖子类型的所有类别

时间:2013-03-26 05:49:25

标签: wordpress categories taxonomy custom-post-type posts

我在WordPress网站上创建了一个自定义帖子类型。并且我在该自定义帖子类型中添加了很多帖子。

我想显示分配给该自定义帖子类型中每个帖子的所有类别。请帮我。 thankz ...

4 个答案:

答案 0 :(得分:2)

您可以尝试:

$terms = get_the_terms($post->ID, 'your_taxonomy_name');

http://codex.wordpress.org/Function_Reference/get_the_terms

但您必须先为您设置CPT的分类:

http://codex.wordpress.org/Function_Reference/register_taxonomy

答案 1 :(得分:1)

你可以尝试下面的代码

foreach ( get_posts( 'numberposts=-1') as $post ) {

            wp_set_object_terms($post_id, 'category_name', 'category');
    }

答案 2 :(得分:1)

使用Wordpress功能:

has_term:http://codex.wordpress.org/Function_Reference/has_term

和get_the_terms:http://codex.wordpress.org/Function_Reference/get_the_terms

使用has_term()非常重要,因此不会在不使用自定义分类的帖子上出现错误。

get_the_terms()获取当前帖子ID的所有条款,在循环中使用它。


示例:

<ul class="post-entry-meta">

<?php if( has_term('','your taxonomy' ))

{

$terms = get_the_terms( $post->ID , 'your taxonomy' ); 

foreach ( $terms as $term )

{echo '<li class="taxonomy-list">', $term->name , '</li>' ;}

}?> 

</ul>

答案 3 :(得分:1)

<?php
$custom_post_taxonomies = get_object_taxonomies('your_taxonomy_name');

if(count($custom_post_taxonomies) > 0)
{
 foreach($customPostTaxonomies as $tax)
 {
     $args = array(
          'orderby' => 'name',
          'show_count' => 0,
          'pad_counts' => 0,
          'hierarchical' => 0,
          'taxonomy' => $tax,
          'title_li' => ''
        );

     wp_list_categories( $args );
 }
}
?>

请替换&#34; your_taxonomy_name&#34;按您的分类名称。它工作得很好。