如何显示没有链接的自定义分类?

时间:2019-02-20 作者:Sekhemty

我需要在页面模板中显示自定义分类术语的名称,我已尝试使用以下行:

<h2><?php the_terms( 0, \'my_category\'); ?></h2>
这将正确检索分类法并显示所需的术语,但也会添加到该术语存档页面的链接。

我只想显示一个简单的文本,没有任何链接。

我应该如何修改它?

提供更多上下文:

<?php 

$args = array(
    \'post_type\' => \'my_post_type\',
    \'tax_query\' => array(
         array(
            \'taxonomy\' => \'my_category\',
            \'field\'    => \'slug\',
            \'terms\'    => \'my_term\',
         ),
    ),
);

$my_query = new WP_Query( $args );

?> 

<div>

    <h2><?php the_terms( 0, \'my_category\'); ?></h2>

</div>

<?php

while ( $my_query->have_posts() ) :
   $my_query->the_post(); 

?>

<div>

    <h3><?php the_title(); ?></h3>

    <div><?php the_content(); ?></div>

</div>


<?php

endwhile; 
wp_reset_query();
wp_reset_postdata();

?>

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

您可以使用get_the_terms() 作用然后,您可以使用此选项输出其名称,而无需链接:

$my_categories = get_the_terms( null, \'my_category\' );

if ( is_array( $my_categories ) ) {
    foreach ( $my_categories as $my_category ) {
        echo $my_category->name;
    }
}
为了考虑多个术语的可能性,您可能希望输出用逗号分隔的名称列表,在这种情况下,您可以将名称放入一个数组中implode() 他们:

$my_categories  = get_the_terms( null, \'my_category\' );

if ( is_array( $my_categories ) ) {
    $category_names = wp_list_pluck( $my_categories, \'name\' );

    echo implode( \', \', $category_names );
}
尽管事实证明这与OP无关,但我还是会保留上面的内容,因为它仍然是原始问题的正确答案

对于更新后的问题,如果要输出给定特定slug的术语名称,则需要使用get_term_by() 然后通过回显name 结果对象的属性。

<?php 

$args = array(
    \'post_type\' => \'my_post_type\',
    \'tax_query\' => array(
         array(
            \'taxonomy\' => \'my_category\',
            \'field\'    => \'slug\',
            \'terms\'    => \'my_term\',
         ),
    ),
);

$my_query = new WP_Query( $args );

$term = get_term_by( \'slug\', \'my_term\', \'my_category\' );
?> 

<div>

    <h2><?php echo $term->name; ?></h2>

</div>

相关推荐

如何在新用户注册时将wp_USERS->用户登录名插入到wp_Terms中?

当新用户注册时,我需要将wp\\u users->user\\u login字段插入wp\\u terms name和slug字段。我的要求是管理员需要将帖子分配给特定用户,也就是说管理员需要向user1添加帖子,但user2不应该看到这一点。为此,我创建了一个自定义帖子,并为此添加了分类法。术语是用户用户名。因此,我需要在分类法中将用户的用户名作为术语列出。当一个新用户注册时,他的用户名也应该在wp\\u terms表中更新,所以我将用户名作为terms。我在这里绊倒了。请对此提出一些解决方案