乌徒帮技术范儿WordPressWordPress开发 › wordpress面包屑导航(本站倾情)

wordpress面包屑导航(本站倾情)

分类:WordPress开发

面包屑导航也可以叫做“当前位置导航”,可以让读者清晰的了解自己所在的网页位置,对SEO也有好处。乌徒帮将自己的面包屑导航扒出来,希望对朋友们有帮助。

// 面包屑导航

[payfor price="3"]function the_place(){
	$homeName = get_bloginfo('name');// 可以将首页替换成某个关键字
	?>
	cat_ID;
		$category = get_category($cat_id);
		$output = '';$seperator = ' › ';
		while($category->parent){
			$category = get_category($category->parent);
			$output = ''.$category->cat_name.''.$seperator.$output;
		}
		echo $output;
		single_cat_title();
	endif;
	if(is_archive()){
		if(is_year())echo get_the_date('Y年');
		if(is_month())echo get_the_date('Y年n月');
		if(is_day())echo get_the_date('Y年n月d日');
	}
	if(is_tag())echo single_tag_title('',false);
	if(is_author()):the_post();echo '作者:';the_author();rewind_posts();endif;
	if(is_search() && isset($_GET['s']) && $_GET['s'] != '')echo '搜索:'.$_GET['s'];
	if(is_page()):
		global $post;$parent = $post;
		while($parent->post_parent){
			$parent = get_post($parent->post_parent);
			echo ''.$parent->post_title.' › ';
		}
		the_title();
	endif;
	if(is_single()):
		if(is_attachment()):
			global $post;
			$parent = get_post($post->post_parent);
			$parent_title = $parent->post_title;
			$parent_id = $parent->ID;
			$parent_url = get_permalink($parent_id);
			$categories = get_the_category($parent_id);
			rewind_posts();
			$output = '';$seperator = ' › ';$category = $categories[0];$category->parent = $category->term_id;
			do{
				$category = get_category($category->parent);
				$output = ''.$category->cat_name.''.$seperator.$output;
			}while($category->parent);
			$output .= ''.$parent_title.''.$seperator;
			echo $output;
			the_title();
		else :
			$categories = get_the_category();
			$output = '';$seperator = ' › ';$t = '';
			if(count($categories) > 1 && 0){ // 如果需要使用到多栏目列出,去掉&& 0
				foreach($categories as $category):
					$category->parent = $category->term_id;
					do{
						$category = get_category($category->parent);
						$output = ''.$category->cat_name.''.$seperator.$output;
					}while($category->parent);
					$t .= ' & '.substr($output,0,-10);$output = '';
				endforeach;
				$output = ' ( '.substr($t,3).' ) '.$seperator;
			}else{
				$category = $categories[0];
				do{
					$output = ''.$category->cat_name.''.$seperator.$output;
					$category = get_category($category->parent);
				}while($category->term_id);
			}
			echo $output;
			the_title();
		endif;
	endif;
}[/payfor]

前台调用时,使用the_place()函数即可。

已有3条评论 快速评论
  1. 否子戈 #3703楼 回复给@3702楼 2013/06/11 21:05:53 回复

    确实是这样,早期在做面包屑时,没有考虑到post_type的问题,今后有时间将它补充完整

  2. 偶米工作室http://www.ithinkopen.com/ #3702楼 2013/06/11 13:33:07 回复

    这个面包屑,如果对于自定义文章类型就不管用了,我最近开发项目时发现网络很多面包屑函数都有这个问题,最后自己使用get_post_type()函数获取文章类型,然后进行判断后得到解决。

  3. WP神偷 #3234楼 2013/03/13 15:44:08 回复

    中国开源促进社区,欢迎你到网站参与讨论!

填写个人信息,赶快回复吧!