如果当前帖子使用标签进行标记,则在标签云中更改标签上的css

时间:2014-02-21 作者:user2908800

我的tagcloud放在侧栏中(循环外部)。

我想给tagcloud中的标签一个类,如果当前帖子被标记了标签。我该怎么做id出错:(

这是我的PHP代码:

$tags = get_tags();
$post_tags = get_the_tags($currentid);

if ($tags) {
  foreach ($tags as $tag) {
    if( (is_tag($tag)) || ($tag->name == $post_tags) ){ 
      echo \'<a href="\'.get_tag_link($tag->term_id).\'" title="\'.$tag->name.\'" class="currenttag">\'.$tag->name.\'</a> \'; 
      } else {
      echo \'<a href="\'.get_tag_link($tag->term_id).\'" title="\'.$tag->name.\'"">\'.$tag->name.\'</a> \';
      }
    }
  }

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

get_the_tags 将返回一个标记对象,因此您必须创建一个post标记数组,然后查看$tag->name 位于post tags数组中。

$tags = get_tags();
    $post_tags = get_the_tags($post->ID);

    /* Just make an array so you can use in_array function later on */
    $post_tag_array = array();
    foreach( $post_tags as $post_tag ){
        array_push($post_tag_array,$post_tag->name);
    }

    if ($tags) {
      foreach ($tags as $tag) {
        /* Then change to search this array for the $tag->name */
        if( (is_tag($tag)) || ( in_array($tag->name, $post_tag_array )) ){ 
          echo \'<a href="\'.get_tag_link($tag->term_id).\'" title="\'.$tag->name.\'" class="currenttag">\'.$tag->name.\'</a> \'; 
          } else {
          echo \'<a href="\'.get_tag_link($tag->term_id).\'" title="\'.$tag->name.\'"">\'.$tag->name.\'</a> \';
          }
        }
      }
希望这有帮助

结束

相关推荐

Missing HTML comment tags

我有这个WP安装,我目前正在修改。最疯狂的是HTML注释没有显示在源代码的任何地方。也就是说,如果您右键单击页面并“查看源代码”。但是,如果要使用这样的工具打开页面->http://www.iwebtool.com/code_viewer?domain=w3lol.com 你可以清楚地看到评论就在那里。网站url为http://w3lol.com可悲的是,关于这件事的任何地方都没有任何信息,而且我也不知道如何确定这是否是由代码本身、Apache、WordPress或其他原因造成的。。。(顺便说一句,