因为新主题的需要,在分类页下显示当前分类的热门标签,所以到网上搜索了好久都没有找到自己想要的,貌似这方面的文章都很少,我觉得,分类标签的作用很大,搜索引擎进入分类目录,再通过标签来索引这些关联的文章,是非常有效率的,而且能够让读者第一时间看这个分类下感兴趣的标签。
那么,如何实现?把下面的代码放到你想让它出现的位置:(可以是侧边栏)


<?php
$categoryID = $cat;
$custom_query = new WP_Query(array(
'post_type' => array('post','company','product','any other custom post type'),
'cat' => $categoryID,
'posts_per_page' => -1
)); if ($custom_query->have_posts()) : while ($custom_query->have_posts()) : $custom_query->the_post(); $posttags = get_the_tags(); if ($posttags) { foreach($posttags as $tag) { $all_tags[] = $tag->term_id; }} endwhile; endif;
$tags_arr = array_unique($all_tags);
$tags_str = implode(",", $tags_arr);
$args = array(
'smallest'  => 12,
'largest'   => 12,
'unit'      => 'px',
'number'    => 20,
'format'    => 'list',
'include'   => $tags_str,
'orderby'   => 'count',
'order'     => 'DESC'
);
wp_tag_cloud($args);
?>

说明下可用到的参数:
选项 类型 默认值 功能描述
smallest 整数 8 使用次数最少的标签的字号大小(单位由unit参数决定)
largest 整数 22 使用次数最多的标签的字号大小(单位由unit参数决定)
unit 字符串 pt 对smallest与largest的值的测量单位。可以是任何CSS长度单位,如pt, px, em, %
number 整数 45 显示在云中的实际标签数。(值为0时显示所有标签)
format 字符串 flat 所显示的云的格式。有效值包括:flat list array
separator 字符串 /n 标签之间的文本/空格,该参数引入于WordPress 2.9
orderby 字符串 name 标签的排列顺序,有效值包括:name count
order 字符串 ASC 排列顺序(升序或降序),有效值包括(必须大写):ASC DESC RAND
exclude 字符串 将要排除的标签(term_id)的ID,各ID用逗号隔开。默认不排除任何标签。
include 字符串 将要包含的标签(term_id)的ID,各ID用逗号隔开。默认包含所有标签。
link 字符串 view 设置链接,允许编辑某个指定标签。有效值包括:view edit
taxonomy 字符串 post_tag 用以生成云的分类法。有效值包括:post_tag category link_category
echo 布尔型 1 显示结果,或将结果保留在变量中。
当然,如果你是放到侧边栏,或者通用模块当中,那么就需要要加一个判断,使它只在category和page页面显示,比如:


 <?php
if (is_category() || is_page()) {
?>
 
<?php } elseif(is_tag('','')) { ?>
 
<?php } else { ?>