如何在自定义术语之前添加文本并在为空时将其隐藏

时间:2021-01-16 作者:Taufan

这是我的代码:

    <?php
    $terms = get_the_terms( $post->ID , \'this_is_custom\' );
    $links = [];
    foreach ( $terms as $term ) {
        $term_link = get_term_link( $term, \'this_is_custom\' );
        if( !is_wp_error( $term_link ) ) {
            $links[] = \'<a href="\' . $term_link . \'">\' . $term->name . \'</a>\';
        }
    }
    echo implode(\',&nbsp;\', $links);
    ?>

The result are:

Mango, Orange, Banana

What it wants to achieve is:

Tag: Mango, Orange, Banana
如何显示单词;标签:";当当前帖子中没有术语时隐藏它?


对不起,我的英语不好。我希望你能理解<谢谢你的回答,我真的很感激。

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

基本上,您只需检查$links 变量不为空,如果为空,则回显文本Tag: 以及$links (即术语表):

if ( ! empty( $links ) ) {
    echo \'Tags: \' . implode( \',&nbsp;\', $links );
}
或更好的版本,请检查$terms 不是WP_Error 实例和$terms 不为空:

$terms = get_the_terms( $post->ID , \'this_is_custom\' );
if ( ! is_wp_error( $terms ) && ! empty( $terms ) ) {
    $links = [];
    foreach ( $terms as $term ) {
        // ... your code.
    }
    echo \'Tags: \' . implode( \',&nbsp;\', $links );
}
但是,如果您只需要显示术语(在custom taxonomy this_is_custom) 形式为Tags: <tag with link>, <tag with link>, ..., i、 e.简单的可点击链接,然后您可以简单地使用the_terms():

// Replace your entire code with just:
the_terms( $post->ID, \'this_is_custom\', \'Tags: \', \',&nbsp;\' ); // but I would use \', \' instead of \',&nbsp;\'