Breadcrumb Help
-
Hi. For my blog pages, I would like the breadcrumb to show “Home/Blog/POST_NAME”. Currently it is showing as “Home/CATEGORY_NAME/POST_NAME”. I’m not familiar with PHP, any help would be great.
#BREADCRUMB class my_breadcrumb { var $options; function my_breadcrumb(){ $delimiter = stripslashes(mytheme_option('general', 'breadcrumb-delimiter')); $this->options = array( 'before' => "<span>",'after' => '</span>', 'delimiter' => $delimiter); $markup = $this->options['before'].$this->options['delimiter'].$this->options['after']; global $post; echo '<div class="breadcrumb"> <div class="container"> <a href="'.home_url().'">'.__('Home','spatreats').'</a>'; if( !is_front_page() && !is_home()) { echo $markup; } $output = $this->simple_breadcrumb_case($post); if ( is_page() || is_single()) { echo "<h1 class='current-crumb'>"; the_title(); echo "</h1>"; } else if($output != NULL) { echo "<h1 class='current-crumb'>".$output."</h1>"; } else { $title = (get_option( 'page_for_posts' ) > 0) ? get_the_title( get_option( 'page_for_posts' )) :NULL; echo $markup; echo "<h1 class='current-crumb'>".$title."</h1>"; } echo " </div> </div> <!-- ** container - End -->"; } function simple_breadcrumb_case($der_post){ $markup = $this->options['before'].$this->options['delimiter'].$this->options['after']; if (is_page()){ if($der_post->post_parent) { $my_query = get_post($der_post->post_parent); $this->simple_breadcrumb_case($my_query); $link = '<a href="'.get_permalink($my_query->ID).'">'; $link .= ''. get_the_title($my_query->ID) . '</a>'. $markup; echo $link; } return; } if(is_single()){ $category = get_the_category(); if (is_attachment()){ $my_query = get_post($der_post->post_parent); $category = get_the_category($my_query->ID); $ID = $category[0]->cat_ID; echo get_category_parents($ID, TRUE, $markup, FALSE ); previous_post_link("%link $markup"); }else{ $postType = get_post_type(); if($postType == 'post') { $ID = $category[0]->cat_ID; echo get_category_parents($ID, TRUE,$markup, FALSE ); } else if($postType == 'portfolio') { global $post; $terms = get_the_term_list( $post->ID, 'portfolio_entries', '', '$$$', '' ); $terms = array_filter(explode('$$$',$terms)); if( !empty($terms)): echo $terms[0].$markup; endif; } else if($postType == 'product') { global $post; $terms = get_the_term_list( $post->ID, 'product_cat', '', '$$$', '' ); $terms = array_filter(explode('$$$',$terms)); if( !empty($terms)): echo $terms[0].$markup; endif; } } return; } if(is_tax()){ $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); return $term->name; } if(is_category()){ $category = get_the_category(); $i = $category[0]->cat_ID; $parent = $category[0]-> category_parent; if($parent > 0 && $category[0]->cat_name == single_cat_title("", false)){ echo get_category_parents($parent, TRUE, $markup, FALSE); } return __("Archive for Category: ",'spatreats').single_cat_title('',FALSE); } if(is_author()){ $curauth = get_userdatabylogin(get_query_var('author_name')); return __("Archive for Author: ",'spatreats').$curauth->nickname; } if(is_tag()){ return __("Archive for Tag: ",'spatreats').single_tag_title('',FALSE); } if(is_404()){ return __("LOST",'spatreats'); } if(is_search()){ return __("Search",'spatreats'); } if(is_year()){ return get_the_time('Y'); } if(is_month()){ $k_year = get_the_time('Y'); echo "<a href='".get_year_link($k_year)."'>".$k_year."</a>".$markup; return get_the_time('F'); } if(is_day() || is_time()){ $k_year = get_the_time('Y'); $k_month = get_the_time('m'); $k_month_display = get_the_time('F'); echo "<a href='".get_year_link($k_year)."'>".$k_year."</a>".$markup; echo "<a href='".get_month_link($k_year, $k_month)."'>".$k_month_display."</a>".$markup; return get_the_time('jS (l)'); } if(is_post_type_archive('product')){ return 'Products'; } } } #END OF BREADCRUMB
- The topic ‘Breadcrumb Help’ is closed to new replies.