the_tags

英文原文:Template_Tags/the_tags

描述

这个模板标签首次存在于WordPress2.3版本,它将显示一个到标签的链接或文章的标签。如果该文章没有标签将显示它所在的分类。这个模板标签应在The Loop中使用。

用法

<?php the_tags('before', 'separator', 'after'); ?>

例子

显示一列用逗号分隔的标签,并在它们后面换行。

<?php the_tags('Tags:', ', ', '<br />'); ?>

默认用法

默认使用将列出用逗号分隔的(如果有两个以上的标签)标签,并在它们的前面添加默认的文字Tags:

<p><?php the_tags(); ?></p>

效果如下

Tags: WordPress, Computers, Blogging

用箭头记号分隔

显示用箭头记号分隔的标签链接,并在他们之前加上文字Social tagging:

<?php the_tags('Social tagging: ',' > '); ?>

效果如下:

Social tagging: WordPress > Computers > Blogging

用点分隔

显示用点分隔的标签链接,在标签的前面加上文字Tagged with: 并在标签后添加换行符。

<?php the_tags('Tagged with: ',' &bull; ','<br />'); ?>

效果如下:

Tagged with: WordPressComputersBlogging

列表例子

显示作为简洁(X)HTML列表(<ul> / <ol> / <dl> )显示的标签:


效果如下:

整合分类和标签

如果你现有的文章拥有分类,并同时开始添加标签到文章中,你可能会想在每篇文章的下方显示一列结合了的分类与标签。例如,假设blog里存在叫Culture和Media的分类,然后你又添加了名为Arts和Painting的标签到一篇文章中。为了读者的体验和保持事情的整洁,你可能会想将它们都作为标签来显示:

Tags: Culture, Media, Arts, Painting

这段代码就可以实现,而且仅当这篇文章的分类或标签不为空时实现:

Tags: 
<?php if (the_category(', ')) the_category(); ?> 
<?php if (get_the_tags()) the_tags(); ?>

参数

before
(字符) 在标签前显示的文字。默认为Tags: :
separator
(字符) 在每个标签链接中间显示的文字或字符。默认在每个标签之间为逗号(,)。.
after
(字符) 最后一个标签后显示的文字。默认不显示任何文字。

wp_tag_cloud

英文原文:Template_Tags/wp_tag_cloud

描述

wordpress 2.3版可用。wp_tag_cloud这个模板标签将显示一列标签,即所谓的标签云图,标签使用的次数决定了它的尺寸。

用法

<?php wp_tag_cloud(''); ?>

例子

默认值

$defaults = array('smallest' => 8, 'largest' => 22,
  'unit' => 'pt', 'number' => 45, 'format' => 'flat', 
  'orderby' => 'name', 'order' => 'ASC','exclude' => , 'include' => );

默认显示:

  • smallest – 使用最少的标签的字号为8
  • largest – 使用最多的标签的字号为22
  • unit – 使用’pt’(点)作为最小和最大字号的单位
  • number – 显示最多45个标签
  • format – 使用平面风格显示标签(标签之间用空格分隔)
  • orderby – 以名称排序
  • order – 升序显示
  • exclude – 不排除任何标签
  • include – 包含任何标签

在“热门标签”下显示云图

<?php if ( function_exists('wp_tag_cloud') ) : ?>
<li>
<h2>Popular Tags</h2>
<ul>
<?php wp_tag_cloud('smallest=8&largest=22'); ?>
</ul>
</li>
<?php endif; ?>

云图减少显示的个数和用使用次数代替名称排序

<?php wp_tag_cloud('smallest=8&largest=22&number=30&orderby=count'); ?>

参数

smallest
(整数) 使用最少的标签的字号 (单位由unit参数给出).
largest
(整数) 使用最多的标签的字号 (单位由unit参数给出).
unit
(字符) 标签字号的单位。 他可以是任何CSS长度单位, 例如: pt, px, em, %; 默认为pt (点).
number
(整数) 云图显示标签的个数。 (使用“0”将显示所有标签。)
format
(字符) 云图显示的格式。

  • ‘flat’ (默认)标签用空格分隔
  • ‘list’ 标签置于一个类名为wp-tag-cloud的无序列表中
  • ‘array’ 标签保存在数值中

orderby
(字符) 标签的排序,有效值为:

  • ‘name’ (默认,名称)
  • ‘count’ 使用次数

order
(字符) 排序次序。有效值 – 必须大写:

  • ‘ASC’ (默认值,升序)
  • ‘DESC’ (降序)

exclude
(字符) 排除用逗号(半角)分隔的一列标签(term_id)。例如, ‘exclude=5,27’ 意味着term_id为5或27的标签将不会显示。默认不排除如何标签。
include
(字符) 包含用逗号(半角)分隔的一列标签。例如,’include=5,27’意味着只有term_id为5或者27的标签将显示。默认包含如何标签。

创建标签档案文件

2.3版本的重要特点是添加了标签功能,wp_tag_cloud标签可以用于显示一个标签存档。这也意味着访问者点击标签云图中的某个标签,他可以得到所有使用了这个标签的文章。根据Template_Hierarchy,如果tag.php模版不存在时,将使用archives.php模版。通过使用tag.php模版,你可以定制你的标签存档的样式,此模版在最上面包含了标签云图,起到了导航的作用。

要把这个弄成一个新的模板的话,需要把这个加入到主题文件中去。(Template_Hierarchy里有关于模版的资源。)需要的步骤如下:

  • 1.将下面的内容保存到tag.php中。
  • 2.将该文件上传到主题文件夹中。
  • 3.当你希望在导航栏有个链接可到达标签存档中时,否则它只在点击某个标签后使用:增加一个使用tag.php的空白页面,并给它起名为标签存档。

第三步的详细说明

WordPress可以设置成不同的页面使用不同的页面模板。在管理面板“写作->页面”的底部(或在边栏,取决于你使用的wordpress版本)有个名为“Page Template(页面模板)”的下拉菜单。在那里,你可以选择使用哪个模板显示这个页面。

<?php /*
Template Name: Tag Archive
*/ ?>
<div>
<?php get_header(); ?>
<h2>Tag Archive</h2>
<?php wp_tag_cloud(''); ?>
	<div class="navigation">
<div class="alignleft"><?php next_posts_link('« Older Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries »') ?></div>
	</div>
<?php if (have_posts()) : ?>
		<?php while (have_posts()) : the_post(); ?>
		<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
	<div class="entry">
	<?php the_content('Read the rest of this entry »'); ?>
	</div>

	<?php endwhile; ?>
	<?php endif; ?>
</div>
<?php get_footer(); ?>

请注意,这个模板没有添加任何样式,查看single.php可以得知确定的样式。

WP tags支持也推迟

wordpress 2.2推迟发布,紧接着Dougal也出来告诉我们“WP Tags: Perhaps I spoke too soon…”。
WP Tags,或许我们言之过早了,它将推迟到wordpress 2.3才加入,取而代之的是添加widgets。

突然想到,WYSIWYG编辑器 + 定时保存 + tags + widgets + … ,wordpress似乎正在变的越来越臃肿,它们是不是每个人都需要的东西呢?至少我是没有装过widgets的,对“定时保存”也不是太在意(我还是在用wordpress 2.0)。怪不得有些人还是喜欢用1.5。

不过我对tags这个功能还是很感兴趣!