在WordPress中获取自定义分类下的标记名称

时间:2019-10-10 作者:mrrsb

我只想在自定义分类法下获取/显示可用的标记。这是我的代码;

$tax = $wp_query->get_queried_object(); // print current taxonomy 

$args = array( 
    \'post_type\' => \'types\', // CPT
    \'taxonomy\' => $tax->slug, //get current taxonomy page
    \'orderby\' => \'name\',
    \'order\' => \'DESC\',
    \'hide_empty\' => false
); 

$tags = get_tags( $args );
    foreach ( $tags as $tag ) {
    echo \'<li>\'.$tag->name.\'</li>\';
}
我的问题是在另一个页面中,它没有分类法下的标记。对此有什么建议吗?

2 个回复
SO网友:Anteraez

可以使用以下代码获取分类法中的所有标记。

<?php

$tags = get_terms(
    array(
        \'taxonomy\' => \'your_taxonomy\',
    )
);

foreach( $tags as $tag ) {
    echo $tag->name;
}

SO网友:Vantiya

您可以使用以下方法获取当前帖子的标签:

$tax = $wp_query->get_queried_object(); // print current taxonomy 

$args = array( 
    \'orderby\' => \'name\',
    \'order\' => \'DESC\',
);

if( \'types\' == get_post_type( get_the_ID() ) ) {
    $tags = wp_get_object_terms( get_the_ID(),  $tax->slug, );
    if ( ! empty( $tags ) ) {
        if ( ! is_wp_error( $tags ) ) {
            foreach( $tags as $tag ) {
                echo \'<li>\'.esc_html( $tag->name ).\'</li>\';
            }
        }
    }
}

相关推荐

How to list tags

我试图列出帖子的标签,但没有成功。有人知道这里会发生什么吗?代码就停在那里,最后一行加载的是标记。我用foreach、for和introde在if语句中进行了尝试,也没有使用。<?php $tags = get_tags(); if( count( $tags) > 0) { echo \'<div id=\"etiquetas\">\'; echo \'<ul class\"tags\">