WordPress在文章页以标签云形式显示文章标签
大家都看过WordPress 标签小工具的标签云,标签按文章数显示不同的大小,看上去很生动,那么在文章页面是否也可以用标签云的形式调用该文章标签呢?当然是可以的。
section
一般在WordPress文章页调用文章标签会用到:
the_tags()
而小工具的标签云函数是:
wp_tag_cloud()
区别是标签云默认调用全站文章的标签,可以按标签文章数显示不同的大小,并可以控制输出数量,使用上更加灵活。section
正常这个标签云函数不能自动调用当前文章标签,可以通过获取文章所有标签ID,并加个判断,在文章页面用标签云仅调用该文章的标签,基本代码如下:
// 获取文章所有标签 $tag_ids = wp_get_post_tags( $post->ID, array( 'fields' => 'ids' ) ); // 如文章有标签,则输出标签云 if ( $tag_ids ) { wp_tag_cloud( array( 'include' => $tag_ids, 'smallest' => 14, 'largest' => 22, 'unit' => 'px', ) ); }
适合喜欢给文章加一堆标签的童鞋使用。section
可以根据需要参考下面标签云函数适当修改参数:
<?php wp_tag_cloud( $args ); ?>
默认参数:
$args = array( 'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45, 'format' => 'flat', 'separator' => "\n", 'orderby' => 'name', 'order' => 'ASC', 'exclude' => null, 'include' => null, 'topic_count_text_callback' => default_topic_count_text, 'link' => 'view', 'taxonomy' => 'post_tag', 'echo' => true, 'child_of' => null(see Note!) );
说明:
- smallest —— 最小的标签(使用次数最少)显示大小为8
- largest ——最大的标签(使用次数最多)显示大小为22
- unit —— 最大值最小值的单位为’pt’
- number —— 至多显示45个标签
- format —— 以平面形式显示所有标签(标签之间用空格隔开)
- separator —— 显示标签之间的空格
- orderby —— 按名称为标签排序
- order —— 以升序排列
- exclude —— 不排除任何标签
- include —— 包括所有标签
- topic_count_text_callback —— 使用函数 default_topic_count_text
- link —— 可视
- taxonomy —— 用文章的标签作为云基础
- echo —— 输出结果