【发布时间】:2017-03-31 19:14:19
【问题描述】:
我正在尝试使用以下代码在标签列表上设置一个活动类:
<?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>
我真的希望后一个选项能够工作,因为它感觉比第一个选项干净得多。
【问题讨论】: