突出显示wp_tag_cloud中的当前标签

时间:2013-09-24 作者:Keyfer Mathewson

我正在建立一个网站,其中一个页面将是一个词汇表。词汇表的第一页将显示所有单词的列表,这些单词是分配到称为“字母”的自定义分类法中的自定义帖子类型,该分类法提取单词的第一个字母。

在词汇表的顶部,有一个“导航”,它是所有letters(A-Z)。然后,用户可以单击该字母,页面将显示以该字母开头的所有单词。

我的问题是,如果有一种方法可以添加current-tag 设置我当前查看的标记的样式。

到目前为止,我的代码是:

  <!-- Glossary Search -->
  <div class="search-container">
    <div class="container">
      <div class="show-search col-lg-8 col-lg-offset-3">
       <form role="search" method="get" id="searchform" action="<?php echo home_url( \'/\' ); ?>">
          <div class="letter-list row-fluid">  


           <!-- IMPORTANT --> <?php wp_tag_cloud( array( \'taxonomy\' => \'letter\', \'format\' => \'flat\', \'hide_empty\' => false) ); ?>


            <input type="text" value="Search the Glossary" onblur="if (this.value == \'\') {this.value = \'Search the Glossary\';}" onfocus="if (this.value == \'Search the Glossary\') {this.value = \'\';}" name="s" id="glossarySearch" />
          </div>
      </form>
      </div> <!-- end shows-search -->
    </div> <!-- end container -->
  </div> <!-- end search-container -->
非常感谢你的帮助!

2 个回复
SO网友:Tribalpixel

当您在标记模板中时,主体类会添加一个term-{termID},因此您可以挂接“wp\\u generate\\u tag\\u cloud\\u data”来检查类是否存在,并将自定义类添加到标记中;)

 function tribalpixel_tag_cloud_class_active($tags_data) {

        $body_class = get_body_class();

        foreach ($tags_data as $key => $tag) {
            if(in_array(\'term-\'.$tag[\'id\'], $body_class)) {
                $tags_data[$key][\'class\'] =  $tags_data[$key][\'class\'] ." active-tag";
            } 
        }
        return $tags_data;
    }

    add_filter(\'wp_generate_tag_cloud_data\', \'tribalpixel_tag_cloud_class_active\');
之后,您只需使用CSS来设置样式;)

SO网友:Rarst

从源标记云的快速查看中可以看出,它并没有考虑到当前标记,并且不容易在代码中进行调整以实现这一点。但是,它会输出包含标记ID的类-class=\'tag-link-$tag_id\'.

你能做的就是wp_head, 检查是否在标记存档中,并输出小的内联CSS块,根据需要为当前ID的元素设置样式。

结束

相关推荐

帖子在派生类别中,未在home.php中工作

我在函数中创建了一个自定义函数。php检查post\\u是否在\\u substant\\u类别中,我通过一个插件控制它,该插件返回true is a post is in substant类别,it is working wellBut it\'s not working in my home.php, 奇怪的是,当我检查家中任何帖子的post\\u是否在\\u genderant\\u类别中时。php结果保持为trueI want to know the reason for that and how