󰅡收起

郑元水博客

记录自己的成长之路。微信/QQ:150505055

16
七月

简单的添加wordpress博客的面包屑导航功能

作者: 郑元水
分类: Wordpress
发布时间: 2013-07-16 06:00

记录我所知道的网站模板优化一文中,有提到过网站的面包屑导航功能。面包屑导航可以让用户快速的知道自己访问的是网站的什么内容,什么分类,同时还能够网站的内容更好的被搜索引擎蜘蛛抓取。所以,在使用wordpress的站长朋友,可以试着给自己的wordpress博客添加面包屑导航功能。郑元水博客的面包屑导航就是用下面代码的方法来实现的。

在wordpress主题所在的functions.php中添加以下的代码

  1. /* 面包屑导航*/    
  2. function get_breadcrumbs()     
  3. {     
  4. global $wp_query;     
  5. if ( !is_home() ){     
  6. echo '<ul>';     
  7. echo '<a href="'. get_settings('home') .'">'. 首页 .'</a>';     
  8. if ( is_category() )     
  9. {     
  10. $catTitle = single_cat_title( "", false );     
  11. $cat = get_cat_ID( $catTitle );     
  12. echo " &raquo; ". get_category_parents( $cat, TRUE, " &raquo; " ) ;     
  13. }     
  14. elseif ( is_archive() && !is_category() )     
  15. {     
  16. echo "&raquo; Archives";     
  17. }     
  18. elseif ( is_search() ) {     
  19. echo "&raquo; Search Results";     
  20. }     
  21. elseif ( is_404() )     
  22. {     
  23. echo "&raquo; 404 Not Found";     
  24. }     
  25. elseif ( is_single() )     
  26. {     
  27. $category = get_the_category();     
  28. $category_id = get_cat_ID( $category[0]->cat_name );     
  29. echo '&raquo; '. get_category_parents( $category_id, TRUE, " &raquo; " );     
  30. echo the_title('','', FALSE);     
  31. }     
  32. elseif ( is_page() )     
  33. {     
  34. $post = $wp_query->get_queried_object();     
  35. if ( $post->post_parent == 0 ){     
  36. echo "<li> &raquo; ".the_title('','', FALSE)."</li>";     
  37. else {     
  38. $title = the_title('','', FALSE);     
  39. $ancestors = array_reverse( get_post_ancestors( $post->ID ) );     
  40. array_push($ancestors$post->ID);     
  41. foreach ( $ancestors as $ancestor ){     
  42. if$ancestor != end($ancestors) ){     
  43. echo '<li> &raquo; <a href="'. get_permalink($ancestor) .'">'. strip_tags( apply_filters( 'single_post_title', get_the_title( $ancestor ) ) ) .'</a></li>';     
  44. else {     
  45. echo '<li> &raquo; '. strip_tags( apply_filters( 'single_post_title', get_the_title( $ancestor ) ) ) .'</li>';     
  46. }     
  47. }     
  48. }     
  49. }     
  50. echo "</ul>";     
  51. }     
  52. }    

然后在wordpress需要面包屑导航功能的地方调用以下的代码

  1. <?php if (function_exists('get_breadcrumbs')){get_breadcrumbs(); } ?>   

本文出自 郑元水博客 ,转载时请注明出处及相应链接。

本文永久链接: http://www.zhengyuanshui.com/786.html

一条评论

  1. 笑笑 2016年1月29日 22:22 回复

    谢谢分享

发表评论

电子邮件地址不会被公开。 必填项已用*标注

代码在页面底部,统计标识不会显示,但不影响统计效果