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

