蓝盟诗人[LUC]蓝客联盟

WordPress的文章导航

2010-09-15 23:10 作者: 来源: 本站 浏览: 1,685 views 我要评论 字号:

文章导航是什么? 一个外国朋友告诉我, 他们管它叫 Breadcrumb trail 或者 Breadcrumb navigation, 翻译过来就是文章导航或者文章路径, 对吧? 具体叫什么我真不确定, 或者看看下面的截图你就会知道我在说什么了.

WordPress的文章导航

这个友好的导航功能, 我最先是在论坛上看到的, 形式一般如下:
首页 > 模块 > 文章

有了它, 访客就可以方便地访问同类的文章, 并明确文章的所属, 对提高用户体验和网站的 PV 值都很有帮助. 我在制作 iNove 主题的时候也加上了这个功能, 但是只能处理子分类, 形式如下:
首页 > 分类 > 文章

最近我在制作一个主题, 客户要求能实现多层次的文章导航, 形式如下:
首页 > 分类 > 子分类 > 第二层子分类 > ... > 第 N 层子分类 > 文章

一般我们会在 the_post() 后面调用 the_category() 生成分类内容. 为此我翻了一下 WordPress 的源代码, 发现 the_category() 方法可能会用到 category-template.php 文件里的另两个方法. 下面我将以注释的形式讲解一下这两个方法, 如发现误解之处, 请指正.

获取父级分类 get_category_parents

获取父级分类 get_the_category_list

在主题中加入文章导航

1. 不包含父级分类的文章导航
这里用到 the_category() 方法的默认模式, 会调用 get_the_category_list() 生成最后一层的子分类 (分类可能不只一个) 组成的 HTML 字符串并打印到页面上. 代码如下:

2. 包含父级分类的文章导航
我们要用的是 the_category() 方法的 multiple 模式, 而他会调用 get_the_category_list()get_category_parents() 两个方法生成一个包含所有父分类的 HTML 字符串并打印到页面上. 代码如下:

当然, 只要你愿意, 可以将这段代码取代 iNove 主题里 single.php 文件的 id="postpath" 部分, 我并不准备在以后版本的 iNove 主题中使用这个多级的文章导航.

(转自: WordPress 的文章导航

打印
分享到:
复制链接

发表评论

*

* (保密)

Ctrl+Enter 快捷回复

会员登录关闭

记住我 忘记密码

注册会员关闭

小提示: 您的密码会通过填写的"电子邮箱"发送给您.