如何在wordpress中设置与您的帖子匹配的活动标签

时间:2017-03-31 19:14:19

标签: php wordpress tags

我正在尝试使用以下代码在标记列表上设置活动类:

    <?php
        $categories = get_the_category();
        $category_id = $categories[0]->cat_ID;
        $args = array( 'category' => $category_id, 'post_type' =>  'post' ); 
        $postslist = get_posts($args);  ?> 
        <div class="archieve__list">
            <ul class="row" data-equalizer data-equalize-on="medium">
                <?php foreach ($postslist as $post) :  setup_postdata($post); ?>  
                    <?php the_tags( '
                            <li class="column small-12 medium-4 text-center float-left archieve__item"><span class="archieve__link" data-equalizer-watch>', '</span></li>
                    '); ?>
                <?php endforeach; ?> 
            </ul>
        </div>

我已经研究过使用get_tags()但是这会拉回所有标签,我只希望它能够拉回当前类别的标签。下面这段代码可以实现我想要的,在正在使用的标签上设置一个活动状态,但我再次需要它来输出该类别的标签:

<ul id="blog-tags">
<?php
$tags = get_tags();
if ( $tags ) {
foreach ( $tags as $tag ) {
    echo '<li>';

    if ( (int) $tag->term_id === get_queried_object_id() )
        echo "<b>$tag->name</b>";
    else
        printf(
            '<a href="%1$s">%2$s</a>',
            get_tag_link( $tag->term_id ),
            $tag->name
        );

    echo '</li>';
}
}
?>
</ul>

我真的希望后一个选项能够工作,因为它感觉比第一个选项更清洁。

1 个答案:

答案 0 :(得分:0)

我不确定你是否真的意思是&#34;当前类别的标签&#34;因为类别和标签都是分类法。但是,如果您想要提取当前帖子的标签,可以使用wp_get_post_tags()