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这个功能还是很感兴趣!