WordPress - CPT上的自定义分类法无法正确显示

时间:2017-06-02 02:56:40

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

我有一个名为“活动”的自定义帖子类型和一个名为“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;

1 个答案:

答案 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 ); ?>