Support » Fixing WordPress » 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.