使用WordPress内建的wp_tag_cloud创建标签云

不可否认Simple Tags是个很好的插件——虽然我只使用它的Click Tags功能。。。但是它提供的st-tag-cloud实在是。。。

翻看了Wordpress的Function Reference页面,又一番链接后终于看到了Tag Cloud的相关Codex

下面简单地翻译下这个Codex:

自Wordpress 2.3版本以来,wp_tag_cloud这个模板标签开始用于显示一个Tag列表,人们常称其为“Tag Cloud”,即标签云,它的特点是每个Tag显示的大小由包含这个Tag的日志数量决定。2.8版本后,taxonomy参数也被加入进来,这样任何分类都能作为生成Cloud的样本。也就是说,你也可以弄一个Categories生成的Cloud展示给浏览者。

这个标签的用法很简单:

<?php wp_tag_cloud( $args ); ?>

默认的参数如下:

 <?php $args = array(
    'smallest'  => 8, 
    'largest'   => 22,
    'unit'      => 'pt', 
    'number'    => 45,  
    'format'    => 'flat',
    'separator' => '\n',
    'orderby'   => 'name', 
    'order'     => 'ASC',
    'exclude'   => , 
    'include'   => , 
    'link'      => 'view', 
    'taxonomy'  => 'post_tag', 
    'echo'      => true ); ?>

默认参数注释:

  • smallest – 最小的Tag(使用次数最少)显示大小是8;
  • largest – 最大的Tag(使用次数最多)显示大小是22;
  • unit – 把’pt’作为字体大小的单位;
  • number – 最多显示45个Tag;
  • format – 用普通方式(空格作为分隔符)显示Tag;
  • separator – 在Tag之间显示空格;
  • orderby – 以Tag的名称排序(如果显示数量有限会影响哪些Tag能被显示);
  • order – 以升序排列Tag;
  • exclude – 不排除任何Tag;
  • include – 包含所有Tag;
  • link – 查看模式;
  • taxonomy – 使用日志的Tag作为样本生成Cloud;
  • echo – 显示结果。

参数详解:
smallest
(整型)(可选)使用次数最少的Tag显示时的文字大小(单位由unit参数指定)
默认值:8

largest
(整型)(可选)使用次数最多的Tag显示时的文字大小(单位由unit参数指定)
默认值:22

unit
(字符串)(可选)指定smallestlargest的单位。可以使用任何CSS支持的长度单位,如pt,px,em,%等。
默认值:’pt’

number
(整型)(可选)Cloud中实际显示的Tag数量(输入0来显示全部Tag)。
默认值:45

format
(字符串)(可选)Cloud的显示格式。

  • ‘flat’ (默认)Tag之间用separator定义的空格分开;
  • ‘list’ Tag会在ul标签中显示,同时带有class=”wp-tag-cloud”属性;
  • ‘array’ Tag会作为一个列表被返回而不是显示,这是在2.5版本中实现的。

separator
(字符串)(可选)Tag之间的文本或者空间。注意,这个功能在2.9版本才引入。
默认值:’/n’(即空格)

orderby
(字符串)(可选)Tag的顺序。可选值有:

  • ‘name’ (默认)
  • ‘count’

order
(字符串)(可选)排序方式。可选值如下(必须大写):

  • ‘ASC’ (默认)
  • ‘DESC’
  • ‘RAND’ Tag将随机排列。注意:这个参数在2.5版本中被引入。

exclude
(字符串)(可选)用逗号分隔Tag的term_id来排除特定的Tag。比如,’exclude=5,27′表示term_id为5或27的Tag不会被显示。
默认不会排除任何Tag。

include
(字符串)(可选)用逗号分隔Tag的term_id来包含特定的Tag。比如,’include=5,27′表示只有term_id为5或27的Tag会被显示。
默认包含所有Tag。

link
(字符串)(可选)设置链接以允许修改特定的Tag。注意,这个参数在2.7版本中被引入。可选值有:

  • ‘view’ (默认)
  • ‘edit’

taxonomy
(字符串)(可选)选择生成Cloud时所用的分类。注意,这个参数在2.8版本中被引入。

  • ‘post_tag’ (默认)以日志使用的Tag生成Cloud。
  • ‘category’ 以日志的Category生成Cloud。
  • ‘link-category’ 用链接的Category生成Cloud。

echo
(布尔值)(可选)决定显示还是保存为变量。默认是真(即显示Tag Cloud)。注意,这个参数自2.8版本被进入。可选值:

  • 1 (true) (默认)
  • 0 (false)

好了,现在你已经了解了wp_tag_cloud这个函数,因为这是一个模板标签,我们必须在模板——Template中使用它。以创建一个Tag Cloud的Page为例。

首先你最好在本地有一个你的Wordpress正在使用的主题,在文件夹中找到page.php,复制所有的内容,新建一个tag_cloud.php文件把page.php的全部内容拷贝进来。然后,在文件的开头输入以下内容(其中那个Template Name填随便一个你想的名就行):

<?php /*
Template Name: Tag Cloud
*/ ?>

然后找到 the_content() 这个函数,把你修改后的wp_tag_cloud函数加到它的前面或者后面(分别试试,我最后是放到前面了,但是这样如果你在Page里面写东西了的话就会在标签云后面了,自己看看哪个好吧)。像这样:

<?php the_content(); ?>
<?php wp_tag_cloud( 'number=0&order=RAND' ); ?>

保存这个文件,上传到你的博客这个主题的主文件夹下面,然后到博客的控制面板添加新页面,填一个题目就行了——比如Tag Cloud,然后找到Attributes(属性)这个控制项,在其中有个选模板的地方,选你刚才起的那个名——比如Tag Cloud,其他不用管,然后发布就可以了。

这样弄成的Tag Cloud起码比Simple Tags弄出来的好看多啦,而且把全部的Tag都显示出来了。

Tags:Blog,Codex,Simple Tags,Tag Cloud,Wordpress,代码,

Related Posts:

    • 泽雅菲
    • January 26th, 2010 9:20pm

    好像你的生活有恢复了规律,状态也很好,钻研爱好,也就是以后的专业。恩,很好,继续加油呀!期待…

      • 苍茫的心
      • January 27th, 2010 8:24am

      还真有人时时刻刻关心你的动态啊,你要小心啊! 服了,某些人啊…… 小心些吧

  1. No trackbacks yet.

Spam Protection by WP-SpamFree