普通调用TAG列表
在需要调用标签列表的主题模板中加入
<?php foreach (get_tags() as $tag){ $tag_link = get_tag_link($tag->term_id); $html .= "<li><a href="{$tag_link}" title="{$tag->name}">"; $html .= "{$tag->name} ({$tag->count})</a></li>"; } echo $html; ?>
- {$tag_link} 标签链接
- {$tag->name} 标签名
- {$tag->count} 该标签下的文章数量
前台显示的HTML代码如下
<li><a href="标签链接" title="标签名">标签名 (该标签下的文章数量)</a></li> <li><a href="标签链接" title="标签名">标签名 (该标签下的文章数量)</a></li>
当前分类下的标签列表
<?php query_posts("cat=".get_query_var("cat").""); if (have_posts()) : $all_tags_arr=array(); while (have_posts()) : the_post(); $posttags = get_the_tags(); if ($posttags) { foreach($posttags as $tag) { $tag_link = get_tag_link($tag->term_id); if(in_array($tag->name,$all_tags_arr)){ continue; }else{ $all_tags_arr[] = $tag->name; echo "<li><a href ="$tag_link">".$tag->name."</a></li>"; } } } endwhile; endif; ?>
这是 query_posts 函数,怎么用不陌生吧?他默认获取的标签数量有限,要想获取所有标签,则给query_posts再加一个参数 showposts=-1
为了精简,我们可以把代码封装起来,在functions.php中加入
/*@当前分类下的TAG列表*/ function current_cat_taglist(){ query_posts("cat=".get_query_var("cat")."&showposts=-1"); if (have_posts()) : $all_tags_arr=array(); while (have_posts()) : the_post(); $posttags = get_the_tags(); if ($posttags) { foreach($posttags as $tag) { $tag_link = get_tag_link($tag->term_id); if(in_array($tag->name,$all_tags_arr)){ continue; }else{ $all_tags_arr[] = $tag->name; echo "<li><a href ="$tag_link">".$tag->name."</a></li>"; } } } endwhile; endif; }
在模板中用以下代码来调用TAG列表
<?php current_cat_taglist();?>原文链接: http://www.sjyhome.com/wordpress/tag-list.html