设置标签页面

2条评论

设置标签页面

简介

WordPress 1.5引入主题功能后,更改WordPress网站外观变得非常简单。 例如,访问者点击网站上某个标签链接时,浏览器会跳转到使用该标签的日志列表页面,所有日志按时间顺序排列,列表最上方是最新日志,最下方则是发表时间最早的日志。 我们可以用不同的方式来显示这些日志,可以显示整篇日志内容,也可以只显示摘要,还可以显示一些其它信息(比如标题、类别、发表日期、最后修改时间等)。 每个主题对分类页面的设置都有所不同,有时我们可能希望改变所用主题对标签页面的设置。

本文将向大家介绍怎样设置访问者所看到的标签页面, 其中涉及主题和模板文件的使用,不了解主题和模板文件的用户可以参考WordPress主题的使用初识WordPress模板

选择模板文件

要设置用户所访问的标签页面,首先要判断该使用主题中的哪个模板文件来显示标签页面上的文章, 这就是所谓的模板层级。

标签页面的层级相对简单。 例如,假设某标签别名为slug。 根据模板层级的规定,WordPress会在当前主题目录中查找以下4个文件,选择最先找到的文件用于下一步操作:

  1. tag-slug.php
  2. tag.php
  3. archive.php
  4. index.php

也就是说,如果目前没有tag-slug.php文件,WordPress会往下查找tag.php 文件,以此类推。

假设该slug标签ID为6,如果我们希望改变该标签页面目前的样式(并且让该页面和其它页面也不相同),首先要创建一个tag-slug.php文件。 如果希望标签页面不同于存档页面(例如日期存档页面和作者存档页面等),就要创建或者修改category.php文件。 如果希望更改存档页面的样式,可以创建或修改archive.php文件。 更改Index.php文件会对整个博客产生影响。

如果需要创建一个新文件,最好复制层级中向下相邻文件的内容。 例如,如果我们要为slug标签页面设计一个特别的样式,可以复制tag.php文件里的内容来创建该标签页面,如果没有tag.php文件,向下查找archive.php文件,以此类推。

示例

决定好主题中所使用的模板文件后,我们就该修改文件以显示标签页面的样式了,下面我们来看几个示例。 这些示例中,“Edit your template file”中的template file是指我们决定在主题中使用的模板文件。

为标签页面添加文本

在标签页面上方显示静态文本

假设我们现在需要在标签页面日志列表的上方显示一些静态文本。 这里静态文本是指内容不随标签和日志而变的文本。 我们要在 模板文件的主循环上方插入以下代码以创建静态文本:

<p>
This is some text that will display at the top of the Tag page.
</p>

为不同标签页面显示不同文本

我们还可以在访问者访问不同标签页面时显示不同文本。 首先要在tag.php文件中添加默认文本,然后为每个需要特殊文本的分类页面创建不同的tag-slug.php文件。

在标签存档首页显示特定文本内容

有时某个标签中的日志很多,我们可能要分页显示(可以在博客管理界面的Blog Reading(阅读)选项)该标签的日志存档。 我们可以只在该标签日志存档的首页显示静态文本,也可以为后页显示不同的文本。

要达到这样的效果,我们要用到PHP的if语句,这个语句可以判断WordPress变量$paged的值($paged等于页数: 1代表该标签日志存档第一页,2则表示该标签日志存档第二页,以此类推。) 这听起来可能有点复杂,但其实并不难理解。 我们只要将以下代码插入主循环上方:

<?php if ( $paged < 2 ) { 
<p>Text for first page of Tag archive.</p>
<?php } else { 
<p>Text for subsequent pages of Tag.
Can be left out.</p>
<?php } ?>

标签名称

我们还可以在页面顶端显示相应的标签名称。 如果我们的模板中还没有标签名称信息,可以在主循环上方插入以下代码:

<p>Tag: <?php single_tag_title(); ?></p>  

更改日志的显示方式

摘要VS.全文

在标签日志存档上显示日志摘要而不是全文,可以减少标签页面占用的内存。我们只要用-the_excerpt()代替模板的主循环中的the_content()就可以达到上述效果。这两个函数出现在PHP标签中:

  <?php the_excerpt(); ?>
and
  <?php the_content(); ?>

如果我们的主题目前显示日志摘要但我们希望改成全文显示,也只要将the_excerpt替换成the_content。

在日志存档中显示图片

在标签日志存档中用相应图片来替代日志内容也是件有意思的事。首先我们要将图片插入日志的摘要部分,下面介绍具体步骤:

1. 将图片上传到日志编辑界面

2. 将编辑状态从“Visual”(可视化)转换到“Code”(HTML代码)

3. 通过 Uploads / Browse (上传/插入)选项将图片插入日志。插入的图片应该是没有链接的实际尺寸图片。

4. 将HTML代码中出现的img标签内容复制到日志编辑界面的“Optional Excerpt”(摘要)框中。

5. 完成日志内容(此时可删除日志编辑界面中的图片),发表。

接下来我们要修改模板文件。模板标签the_excerpt_rss()不会在摘要中插入段落标签,因此我们可以利用the_excerpt_rss()来插入img代码。下面是需要放入模板中的代码:

<a href="<?php the_permalink() ?>">
<?php the_excerpt_rss(); ?>
</a>

警告:由于摘要中显示的是图片而不是文本,因此以上操作操作可能会影响到博客的RSS订阅。如果确实要进行类似操作,最好先将RSS订阅设为全文输出。

参见常用函数模板标签

#1
很好的文章啊,学习啦!
#2
是个不错的文章,值得学习!