在WordPress中按ID显示特定标签

时间:2018-07-09 00:22:13

标签: wordpress

如何在WordPress中显示特定标签?我想显示ID为5、96、3等的标签。以下代码有效,但显示所有标签。

<ul>
    <?php
    $tags = get_tags(5);
    if ( $tags ) :
        foreach ( $tags as $tag ) : ?>
            <li><a href="<?php echo esc_url( get_tag_link( $tag->term_id ) ); ?>" title="<?php echo esc_attr( $tag->name ); ?>"><?php echo esc_html( $tag->name ); ?></a></li>
        <?php endforeach; ?>
    <?php endif; ?>
</ul>

2 个答案:

答案 0 :(得分:0)

您似乎错误地使用了get_tags()函数。要包含特定标签,请按以下方式使用它:

$tags = get_tags(array('include' => '5,96,3'));

答案 1 :(得分:0)

您可以将其他参数传递给get_tags(),其中包括include参数:

  

包含
  默认为空字符串。用逗号或空格分隔的术语ID的字符串,要包含在返回数组中。

get_tags()的文档指出您应该使用字符串,但也支持数组(请参见下面的附录)。

您更新后的代码为:

<ul>
    <?php
    $args = array( 'include' => array( 5, 96, 3 ) );
    $tags = get_tags( $args );
    if ( $tags ) :
        foreach ( $tags as $tag ) : ?>
            <li><a href="<?php echo esc_url( get_tag_link( $tag->term_id ) ); ?>" title="<?php echo esc_attr( $tag->name ); ?>"><?php echo esc_html( $tag->name ); ?></a></li>
        <?php endforeach; ?>
    <?php endif; ?>
</ul>

附录get_tags()的文档已过期。它指定您应该使用字符串,但是也支持数组(按照我的代码)。 get_tags()wp_term_query类的包装函数,它支持字符串或数组:

  

“包含”
  (array | string)要包含的术语ID的数组或逗号/空格分隔的字符串。默认为空数组。