View Single Post
  #1   IP: 112.87.85.4
Old 2015-06-14, 07:00 AM
Jerry City Jerry City is offline
初级会员
 
Join Date: 2012-10-24
Posts: 1
Jerry City 现在声名狼藉
Default wordpress 非插件实现文章面包屑(Breadcrumbs)导航

什么是面包屑导航?就是像这样的。





对于以内容为主,分类层次较多的站点来说,一个清晰的面包屑导航设计是非常重要的,因为它总能帮助用户在需要跳出的时候,如同灯塔一样迅速找到方向,所以快观察下你的网站是否有相关方面的考虑和设计,如果还没有面包屑导航的话,请结合自己的主题,按下面讲述的方法来实现wordpress文章面包屑导航吧.

1、首先将以下代码添加到主题的 functions.php 文件中,最后在single.php、archive.php、archives.php、links.php、page.php等文件合适的地方添加调用代码即可。

function wheatv_breadcrumbs() {
$delimiter = ' > ';

$name = '首页 > 麻醉学'; //

if( !is_home() ||!is_front_page() || is_paged() ){

global $post;

$home = get_bloginfo('url');

echo '<a href="' . $home . '" class="gray">' . $name . '</a> ' . $delimiter . ' ';

if (is_category()) {

global $wp_query;

$cat_obj = $wp_query->get_queried_object();

$thisCat = $cat_obj->term_id;

$thisCat = get_category($thisCat);

$parentCat = get_category($thisCat->parent);

if ($thisCat->parent != 0) echo(get_category_parents($parentCat, TRUE, ' ' . $delimiter . ' '));

echo single_cat_title();

} elseif ( is_day() ) {

echo '<a href="' . get_year_link(get_the_time('Y')) . '" class="gray">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';

echo '<a href="' . get_month_link(get_the_time('Y'),get_the_time('m')) . '" class="gray">' . get_the_time('F') . '</a> ' . $delimiter . ' ';

echo get_the_time('d');

} elseif ( is_month() ) {

echo '<a href="' . get_year_link(get_the_time('Y')) . '" class="gray">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';

echo get_the_time('F');

} elseif ( is_year() ) {

echo get_the_time('Y');

} elseif ( is_single() ) {

$cat = get_the_category(); $cat = $cat[0];

echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');

echo "正文";

} elseif ( is_page()||!$post->post_parent ) {

the_title();

} elseif ( is_page()||$post->post_parent ) {

$parent_id = $post->post_parent;

$breadcrumbs = array();

while ($parent_id) {

$page = get_page($parent_id);

$breadcrumbs[] = '<a href="http://www.wheatv.com/site/wp-admin/ . get_permalink($page->ID) . " class="gray">' . get_the_title($page->ID) . '</a>';

$parent_id = $page->post_parent;

}

$breadcrumbs = array_reverse($breadcrumbs);

foreach ($breadcrumbs as $crumb) echo $crumb . ' ' . $delimiter . ' ';

the_title();

} elseif ( is_search() ) {

echo get_search_query();

} elseif ( is_tag() ) {

echo single_tag_title();

} elseif ( is_author() ) {

global $author;

$userdata = get_userdata($author);

echo '由'.$userdata->display_name.'发表';

} elseif ( is_404() ) {

echo '404 错误';
}

if ( get_query_var('paged') ) {

if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';

echo '第' . ' ' . get_query_var('paged').' 页';

if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
}
}else{

echo $name;

}

}

2、然后直接在需要的地方调用<?php wheatv_breadcrumbs(); ?>此函数即可。
Reply With Quote