WordPress 主题教程 #6c:存档和链接列表
2007年06月12日
存档和链接列表是从零开始创建 WordPress 主题系列教程的第六篇的第三分,这篇将比较简单,讲解如何调用存档链接列表和友情链接(blogroll)列表。
第1步 - 增加存档链接列表。
在侧边栏区域的 Categories 列表下面输入以下代码:
<li><h2><?php _e(’Archives’); ?></h2>
<ul>
<?php wp_get_archives(’type=monthly’); ?>
</ul>
</li>
复制之后检查下代码是否和下面一样:

保存并刷新浏览器。结果如下所示:

发生什么了?
我们使用了 wp_get_arhives() 这个 PHP 函数,并用了 type 这个参数以及 monthly 作为它的值,这样就按月调用存档链接列表。
- <li> - 开始列表元素
- <h2> - 开始子标题
- <?php _e(’Archives’); ?> - 子标题文本
- </h2> - 结束子标题
- <ul> - 开始在存档链接这个无序列表
- <?php wp_get_archives(’type=monthly’); ?> - 按月调用存档列表链接,并把每个链接放入 <li> 和 </li> 标签中。如果查看源代码,我们会看到 wp_get_archives() 为每个链接产生了列表元素(LI)标签,就像 wp_list_cats() 这个函数一样。
- </ul> - 结束在子标题下的无序列表
- </li> - 结束列表元素
第2步:增加友情链接列表
在存档链接列表下输入以下代码:
<?php get_links_list(); ?>

保存并刷新,结果如下:

默认情况下,我的 blogroll 和你的是没有什么不同,这里是它在源代码中的样子:

上面的代码完全没有正确的被缩进,因为它们是由函数 get_links_list() 产生的,就像上一篇所学的函数 wp_list_pages() 产生的代码一样,但是它遵循规则 #1,按正确顺序关闭所有的东西。我已经圈出了元素和无序列表的标签让你看得更明显。
WordPress 主题教程
- WordPress 主题教程:从零开始制作 WordPress 主题
- WordPress 主题教程 #1:介绍
- WordPress 主题教程 #2:模板文件和模板
- WordPress 主题教程 #3:开始 Index.php
- WordPress 主题教程 #4a:Header 模板
- WordPress 主题教程 #4b:Header 模板 2
- WordPress 主题教程 #5:主循环
- WordPress 主题教程 #5b:日志内容
- WordPress 主题教程 #5c:日志元数据
- WordPress 主题教程 #5d:Else,日志 ID,链接标题
- WordPress 主题教程 #5e:日志导航链接
- WordPress 主题教程 #6:侧边栏
- WordPress 主题教程 #6b:页面链接列表
- WordPress 主题教程 #6c:存档和链接列表
- WordPress 主题教程 #6d:搜索框和日历
- WordPress 主题教程 #6e:窗体化侧边栏
- WordPress 主题教程 #7:尾部
- WordPress 主题教程 #8:验证 XHTML
- WordPress 主题教程 #9:Style.css 和 CSS 介绍
- WordPress 主题教程 #10:十六进制颜色代码和样式化链接
- WordPress 主题教程 #11:宽度和布局
- WordPress 主题教程 #12:日志样式化和其他杂项
- WordPress 主题教程 #13:样式化侧边栏
- WordPress 主题教程 #14:底部和拆分 Index
- WordPress 主题教程 #15:子模板文件
- WordPress 主题教程 #16:留言模板
- erdaoo 的 WP Theme 教程学习笔记
- WordPress 主题教程电子书下载
翻译自:http://www.wpdesigner.com/2007/03/04/wp-theme-lesson-6c-get-archives-and-links/,并根据中文习惯和个人理解做了修改!
16 条评论 添加你的评论 →

1. 银子 | 2007:08:17 - 09:57:07 | #
在li里嵌套ul是一种很奇怪的写法像这种列表完全可能用dl dt dd来做
2. Evan | 2008:11:03 - 12:54:49 | #
不会. 用dl来写的话不符合xhtml的语义化要求. 而且li中本来就可再套其它块级元素. 所以这种写法很正常啊, 用纯CSS来写tip提示时就经常用到这种写法.
3. iceorange | 2007:09:14 - 15:37:07 | #
问水煮鱼大人:如果我想把友情连接某一个分类下的链接按照link id 来排需要怎么修改
发现这串代码只是排序分类,而不是排序链接…
谢谢~~
4. Beach | 2007:10:05 - 10:02:13 | #
怎么是乱码?
重写一遍:
请问我怎么把get_links_list中的友情链接几个字的字号h2改成h3?
请回复到我的Blog。谢了!
5. Denis | 2007:10:05 - 15:47:31 | #
@ Beach,不好意思,我还没有去别人博客回答问题的习惯,你的问题只要去 Codex 看看就知道了,这是不可能的,如果你要实现自己的效果,使用 get_links 这个模板函数!
6. oiclover | 2007:11:09 - 13:30:25 | #
…呵,
@Beach,你是在求别人帮助,别人又不是要天经地义要帮你
是我就不叼你….
请教一下在php 代码里面 echo \n\t 是什么意思?先行谢过
7. Denis | 2007:11:09 - 13:42:05 | #
@oiclover
\n 换行
\t 就是按下tab一样,一个缩进位
这个可以认为没有什么用,但是可以让生成的html代码更加克阅读
8. 黑色饼干 | 2007:12:07 - 18:03:59 | #
我汗!
在开始之前,我想解释下为什么我把我的课程分成比较小的节。你所学的一切都需要几个月时间来消化!
看样子真是难哦,要几个月来消化呢
9. 胡戈戈 | 2008:01:31 - 10:38:51 | #
要有点基础的,如果你以前一点都没碰到过这些东西看这些会很吃力的
10. a-duo | 2008:03:19 - 14:16:52 | #
Parse error: syntax error, unexpected ‘=’ in D:\xampp\htdocs\wordpress\wp-content\themes\tutorial\index.php on line 58
自己一个写
与复制进去都提示错误?
11. a-duo | 2008:03:19 - 14:21:40 | #
重新在写一遍又是对的 郁闷 不知道是什么原因
12. 纪小年 | 2008:12:20 - 20:05:09 | #
补充下~~
函数wp_get_archives是用来调用存档的,可以放在模板中的sidebar.php或者放在专门的存档页面archives.php。
具体写法如下:
wp_get_archives
(‘type=monthly&limit=12&format=
html&before=…&after=…
&show_post_count=true’);
下面说明一下里面的每个函数的意思:
type:归档方式
type=monthly:按月显示
type=daily:按天显示
type=weekly:按周显示
type=postbypost:显示文章标题
limit:显示篇数
limit=10:显示最近10篇文章
format:格式
format=html:默认方式
format=link:输出格式:
<?php
<link target='_blank' rel=’archives’ title=’$title_text’ href=’$url’ />
format=option:输出格式:
<?php
<option value=’$url’>$before $text $after</option>
before:archives前
before=…:要在前面加的文字
after:archives后
after=…:要在后面加的文字
show_post_count:是否显示文章数量
show_post_count=true:要在后面显示文章的数量
13. Laden | 2009:03:23 - 19:44:53 | #
水煮鱼大哥,今天按照你的教程我一步步去做,可是做到这步和前面的那一步总是提示出一个错误,不知道是什么原因,我查看了其他人的评论,好像没人出现过这个错误,具体如下:
再写这一步的时候浏览首页时出现错误,错误是这样
Fatal error: Call to undefined function php_e() in C:\xampp\htdocs\wordpress\wp-content\themes\tutorial\index.php on line 61
我用翻译软件看了下,好像是说php_e()这个函数没定义,具体的我也不太清楚,还又之前的一个用到这个函数的地方也是提示的这个错误,当时看你的教程说可以另一种方法写,我就换了方法,但是到这又出这个错了,请问能帮忙解决下么!谢谢水煮鱼!
14. Laden | 2009:03:23 - 19:46:13 | #
晕了,怎么代码没发上去,具体出错代码是这个:
15. Laden | 2009:03:23 - 19:48:58 | #
我倒!咋还发不上去代码?
就这篇教程的第一步,增加存档连接的代码,我加上就处错误,请帮下忙!谢谢了
16. XNOT | 2010:01:22 - 19:13:39 | #