WordPress添加面包屑导航功能

时间: 2013-12-5 分类: WordPress技术 作者: SAI

TAGS:

你在浏览某个分类下的文章的时候你想回到上面的目录,就需要用到面包屑导航,它主要用来记录你当前相对于文章首页的位置,他是一个相对位置。

1,在functions.php中添加如下代码

function get_breadcrumbs()
{
global $wp_query;
if ( !is_home() ){
// Start the UL
echo '<ul>';
// Add the Home link
echo '<a href="'. get_settings('home') .'">'. 首页 .'</a>';
if ( is_category() )
{
$catTitle = single_cat_title( "", false );
$cat = get_cat_ID( $catTitle );
echo " &raquo; ". get_category_parents( $cat, TRUE, " &raquo; " ) ;
}
elseif ( is_archive() && !is_category() )
{
echo "&raquo; Archives";
}
elseif ( is_search() ) {
echo "&raquo; Search Results";
}
elseif ( is_404() )
{
echo "&raquo; 404 Not Found";
}
elseif ( is_single() )
{
$category = get_the_category();
$category_id = get_cat_ID( $category[0]->cat_name );
echo '&raquo; '. get_category_parents( $category_id, TRUE, " &raquo; " );
echo the_title('','', FALSE);
}
elseif ( is_page() )
{
$post = $wp_query->get_queried_object();
if ( $post->post_parent == 0 ){
echo "<li> &raquo; ".the_title('','', FALSE)."</li>";
} else {
$title = the_title('','', FALSE);
$ancestors = array_reverse( get_post_ancestors( $post->ID ) );
array_push($ancestors, $post->ID);
foreach ( $ancestors as $ancestor ){
if( $ancestor != end($ancestors) ){
echo '<li> &raquo; <a href="'. get_permalink($ancestor) .'">'. strip_tags( apply_filters( 'single_post_title', get_the_title( $ancestor ) ) ) .'</a></li>';
} else {
echo '<li> &raquo; '. strip_tags( apply_filters( 'single_post_title', get_the_title( $ancestor ) ) ) .'</li>';
}
}
}
}
// End the UL
echo "</ul>";
}
}

2,在需要调用的地方调用就好了

<?php
get_breadcrumbs();
?>

3,自己CSS美化一下吧

Javin

本文作者: SAI

推崇以用户为中心的设计理念,专注于用户体验设计,游走在视觉设计与前端开发之间。我要投稿

除非特殊注明,本文版权归原作者所有,欢迎转载!转载请注明版权以及本文地址,谢谢。
转载保留版权:塞纳» 建站技巧 » WordPress技术 » WordPress添加面包屑导航功能
本文地址:http://www.saiody.com/?p=868

返回顶部