我在我的 WordPress 网站中创建了一个自定义帖子类型。我在该自定义帖子类型中添加了许多帖子。
我想显示分配给该自定义帖子类型中每个帖子的所有类别。请帮我。谢谢...
我在我的 WordPress 网站中创建了一个自定义帖子类型。我在该自定义帖子类型中添加了许多帖子。
我想显示分配给该自定义帖子类型中每个帖子的所有类别。请帮我。谢谢...
你可以试试:
$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
你可以试试下面的代码
foreach ( get_posts( 'numberposts=-1') as $post ) {
wp_set_object_terms($post_id, 'category_name', 'category');
}
使用 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>
<?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 );
}
}
?>
请用您的分类名称替换“your_taxonomy_name”。它运作良好。