我有一个名为“活动”的自定义帖子类型和一个名为“category_activity”的自定义分类。
在single-activity.php上我想显示当前的分类。目前,即使没有添加到帖子中,也会显示所有分类法。
单activity.php:
$taxonomy = 'category_activity';
$terms = get_terms($taxonomy);
if ( $terms ) {
foreach ( $terms as $term ) { echo $term->name; }
}
应显示:'Taxonomy Name 1'
目前显示:'分类名称1分类名称2分类名称3'。
分类标识注册:
function cptui_register_my_taxes_category_activity() {
$labels = array(
"name" => __( 'Things Categories', '' ),
"singular_name" => __( 'Things Category', '' ),
);
$args = array(
"label" => __( 'Things Categories', '' ),
"labels" => $labels,
"public" => true,
"hierarchical" => true,
"label" => "Things Categories",
"show_ui" => true,
"show_in_menu" => true,
"show_in_nav_menus" => true,
"query_var" => true,
"rewrite" => array( 'slug' => 'things-to-do/category', 'with_front' => false, ),
"show_admin_column" => false,
"show_in_rest" => false,
"rest_base" => "",
"show_in_quick_edit" => false,
);
register_taxonomy( "category_activity", array( "activity" ), $args );
}
add_action( 'init', 'cptui_register_my_taxes_category_activity' );
感谢您的帮助。
编辑 - 我使用了这个:
$category = wp_get_post_terms($post->ID, 'category_activity');
echo $category[0]->name;
答案 0 :(得分:0)
在你的情况下使用wp_get_post_terms会更好: https://codex.wordpress.org/Function_Reference/wp_get_post_terms
<?php $terms = wp_get_post_terms( $post_id, $taxonomy, $args ); ?>