实际上制作面包屑导航的函数多种多样,既可以在functions.php文件中定义调用,也可以使用wordpress自带的函数制作一个简单的面包屑,下面给出我经常使用的方法。
如何输出一个文章的分类及分类的父级分类
我这里只给出最简单的解决方法也就是结果,不涉及函数详细介绍,如果你对wordpress内置函数感兴趣的话可以查看wordpress官网查看wordpress codex(wordpress宝典)
一、第一种方法
1. 还分为两种情况,在单页面或文章页面时,我们用
<?php $category = get_the_category(); $catid=$category[0]->cat_ID; //获取当前文章的第一个分类 echo get_category_parents($catid, TRUE, ' » '); //获取一个完整的url路径,包含分类及父分类 ?>
2. 在分类页我们就不用那么麻烦了(相对于单页面会多出一个”»”号),直接用:
<?php echo get_category_parents($cat, TRUE, ' » '); //$cat是分类页中存在的一个变量分类ID ?>
如果在分类页用第一种方法获取父分类的话,会出现下面的情况:
父分类下输出父分类,所以在分类页中用第二种方法就不会出现两个product这样的情况

二、第二种方法
1、在functions.php文件中添加以下代码:
<?php
/************获取当前分类的url***********/
function the_category_link()
{
$category = get_the_category();
if($category)
{
$category_id = get_cat_id($category[0]->name); return get_category_link( $category_id );
} else{ return "#";}
}
/* * 获取当前文章所属第一个分类别名的函数 */
function the_category_name()
{ $category = get_the_category(); return ($category ? $category[0]->name : ""); }
/*获得根基分类标题 */
function get_category_root_name($cat)
{
$this_category = get_category($cat); // 取得当前分类
while($this_category->category_parent) // 若当前分类有上级分类时,循环
{
$this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类(往上爬)
return $this_category->name; // 返回根分类的id号
}
}
/*//获得根基分类连接*/
function get_category_root_link($cat)
{
$this_category = get_category($cat); // 取得当前分类
while($this_category->category_parent) // 若当前分类有上级分类时,循环
{
$this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类(往上爬)
$category_id=$this_category->term_id; // 返回根分类的id号
return get_category_link( $category_id );
}
}
//获取当前文章的分类id
function get_article_category_ID() {
$category = get_the_category();
return $category[0]->cat_ID;
}
//获取当前文章的分类名
function get_article_category_name() {
$category = get_the_category();
return $category[0]->name;
}
?>
2、category分类引用
<div id="breadcrumbs">
<p id="content_p"><a href="<?php bloginfo('url');?>">Home</a> »
<!--根分类名/begin-->
<?php
/*$cat是当前分类的ID*/
if(get_category_root_name($cat))
{ echo "<a href='".get_category_root_link($cat)."'>".get_category_root_name($cat)."</a> » "; }
else
{ echo "";}
?>
<!--end-->
<span><?php single_cat_title('','display'); /*获取分类名称函数*/?></span></p>
</div>
3、single单页面引用
<div id="breadcrumbs">
<p id="content_p"><a href="<?php bloginfo('url');?>">Home</a> »
<!--begin-->
<?php
if(get_category_root_name(get_article_category_ID()))
{ echo "<a href='".get_category_root_link(get_article_category_ID())."'>".get_category_root_name(get_article_category_ID())."</a> » "; }
else
{ echo "";}
?>
<!--end-->
<a href="<?php echo the_category_link();?>"><?php echo the_category_name(); ?></a> »
<span><?php the_title(); ?></span></p>
</div>
上面引用时是根据我个人网站的整体框架,细节处还需根据个人的需求修改。