WP Theme 教程 #6c:存档和链接列表
June 12th, 2007 Denis
这篇课程将比较轻松。你将学到如何调用存档链接列表和 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步:增加 blogroll 链接
在存档链接列表下输入以下代码:
<?php get_links_list(); ?>
保存,刷新,结果如下:

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

上面的代码完全没有被组织,因为它们是由函数 get_links_list() 产生的,就像上一篇所学的函数 wp_list_pages() 一样,然而它遵循规则 #1,按正确顺序关闭所有的东西。我已经圈出了元素和无序列表的标签让你看得更明显。
这篇到此为止,下篇将介绍日历和搜索框。
请查看教程目录:WordPress 主题教程系列
翻译自:WP Theme Lesson #6c: Get Archives and Links
创建 WordPress 主题系列教程均为本站翻译,如要转载,请注明:转载自我爱水煮鱼和本文地址。
作者:Denis
原文链接:WP Theme 教程 #6c:存档和链接列表







1. 银子 | August 17, 2007 at 9:57 am | #
在li里嵌套ul是一种很奇怪的写法像这种列表完全可能用dl dt dd来做
2. Evan | November 3, 2008 at 12:54 pm | #
不会. 用dl来写的话不符合xhtml的语义化要求. 而且li中本来就可再套其它块级元素. 所以这种写法很正常啊, 用纯CSS来写tip提示时就经常用到这种写法.
3. iceorange | September 14, 2007 at 3:37 pm | #
问水煮鱼大人:如果我想把友情连接某一个分类下的链接按照link id 来排需要怎么修改
发现这串代码只是排序分类,而不是排序链接…
谢谢~~
4. Beach | October 5, 2007 at 10:02 am | #
怎么是乱码?
重写一遍:
请问我怎么把get_links_list中的友情链接几个字的字号h2改成h3?
请回复到我的Blog。谢了!
5. Denis | October 5, 2007 at 3:47 pm | #
@ Beach,不好意思,我还没有去别人博客回答问题的习惯,你的问题只要去 Codex 看看就知道了,这是不可能的,如果你要实现自己的效果,使用 get_links 这个模板函数!
6. oiclover | November 9, 2007 at 1:30 pm | #
…呵,
@Beach,你是在求别人帮助,别人又不是要天经地义要帮你
是我就不叼你….
请教一下在php 代码里面 echo \n\t 是什么意思?先行谢过
7. Denis | November 9, 2007 at 1:42 pm | #
@oiclover
\n 换行
\t 就是按下tab一样,一个缩进位
这个可以认为没有什么用,但是可以让生成的html代码更加克阅读
8. 黑色饼干 | December 7, 2007 at 6:03 pm | #
我汗!
在开始之前,我想解释下为什么我把我的课程分成比较小的节。你所学的一切都需要几个月时间来消化!
看样子真是难哦,要几个月来消化呢
9. 胡戈戈 | January 31, 2008 at 10:38 am | #
要有点基础的,如果你以前一点都没碰到过这些东西看这些会很吃力的
10. a-duo | March 19, 2008 at 2:16 pm | #
Parse error: syntax error, unexpected ‘=’ in D:\xampp\htdocs\wordpress\wp-content\themes\tutorial\index.php on line 58
自己一个写
与复制进去都提示错误?
11. a-duo | March 19, 2008 at 2:21 pm | #
重新在写一遍又是对的 郁闷 不知道是什么原因
12. 纪小年 | December 20, 2008 at 8:05 pm | #
补充下~~
函数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 | March 23, 2009 at 7:44 pm | #
水煮鱼大哥,今天按照你的教程我一步步去做,可是做到这步和前面的那一步总是提示出一个错误,不知道是什么原因,我查看了其他人的评论,好像没人出现过这个错误,具体如下:
再写这一步的时候浏览首页时出现错误,错误是这样
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 | March 23, 2009 at 7:46 pm | #
晕了,怎么代码没发上去,具体出错代码是这个:
15. Laden | March 23, 2009 at 7:48 pm | #
我倒!咋还发不上去代码?
就这篇教程的第一步,增加存档连接的代码,我加上就处错误,请帮下忙!谢谢了