Snippets

Rik Kendell Breadcrumbs

Updated by Rik Kendell

File functions.php Modified

  • Ignore whitespace
  • Hide word diff
 	            // Single post (Only display the first category)
 	            echo '<li class="separator separator-' . $category[0]->term_id . '"> ' . $separator . ' </li>';
 	            echo '<li class="item-current item-' . $post->ID . '"><span class="bread-current bread-' . $post->ID . '" title="' . get_the_title() . '">' . get_the_title() . '</span></li>';	             
-	        } else if ( is_category() ) {	             
+	        }
+			// News / 'Post' archive
+	        if ( is_home() ) {
+	        	echo '<li><a href="/news/">News</a></li>';
+	        }
+	        // Custom post type archives
+	       	else if (is_archive() ) {
+	       		$archive_title = post_type_archive_title( '', false );
+	        	echo '<li class="item-current"><span class="bread-current">' . $archive_title . '</span><li>';
+	        }
+			else if ( is_category() ) {	             
 	            // Category page
 	            echo '<li class="item-current item-cat-' . $category[0]->term_id . ' item-cat-' . $category[0]->category_nicename . '"><span class="bread-current bread-cat-' . $category[0]->term_id . ' bread-cat-' . $category[0]->category_nicename . '">' . $category[0]->cat_name . '</span></li>';
 	        }
Updated by Rik Kendell

File breadcrumbs.scss Added

  • Ignore whitespace
  • Hide word diff
+.breadcrumbs {
+    margin-left: 0;
+    li {
+        display: inline;
+    }
+}

File single.php Modified

  • Ignore whitespace
  • Hide word diff
 
 <section id="content">
 
+
+
     <?php // BREADCRUMB
     the_breadcrumb(); ?>
     
+    
+    
+    
     <?php if (have_posts()) while (have_posts()) : the_post(); ?>
     
         <article>    
Created by Rik Kendell

File functions.php Added

  • Ignore whitespace
  • Hide word diff
+// Breadcrumbs
+	function the_breadcrumb () {	     
+	    // Settings
+	    $separator  = '&gt;';
+	    $id         = 'breadcrumbs';
+	    $class      = 'breadcrumbs';
+	    $home_title = 'Home';
+
+	    // Get the query & post information
+	    global $post,$wp_query;
+	    $category = get_the_category();
+	     
+	    // Build the breadcrums
+	    echo '<ul id="' . $id . '" class="' . $class . '">';
+	     
+	    // Do not display on the homepage
+	    if ( !is_front_page() ) {	         
+	        // Home page
+	        echo '<li class="item-home"><a class="bread-link bread-home" href="' . get_home_url() . '" title="' . $home_title . '">' . $home_title . '</a></li>';
+	        echo '<li class="separator separator-home"> ' . $separator . ' </li>';
+	         
+	        // Hacky One For Products/Solution
+	        if(is_single() && $post->post_type == 'solution') {
+	        	echo '<li><a href="/products/">Products</a></li>';
+	        	//echo '<li class="separator">'.$separator.'</li>';
+	        	//echo '<li><a href="/solutions/products/">Products</a></li>';
+	        	//echo '<li class="separator">'.$separator.'</li>';
+	        	//echo '<li class="item-current">'.$post->post_title.'</li>';
+	        }
+	        // Another for individual resources (not to be confused with resource types)
+	        if(is_single() && $post->post_type == 'resource') {
+	        	echo '<li><a href="/resources/">Resources</a></li>';
+	        	echo '<li class="separator">'.$separator.'</li>';
+	        	echo '<li class="item-current">'.$post->post_title.'</li>';
+	        }
+	        // Products landing page
+	        if(is_page('Products') ) {
+	        	echo '<li><a href="/products/">Products</a></li>';
+	        }
+	        else if ( is_single() ) {
+	            // Single post (Only display the first category)
+	            echo '<li class="separator separator-' . $category[0]->term_id . '"> ' . $separator . ' </li>';
+	            echo '<li class="item-current item-' . $post->ID . '"><span class="bread-current bread-' . $post->ID . '" title="' . get_the_title() . '">' . get_the_title() . '</span></li>';	             
+	        } else if ( is_category() ) {	             
+	            // Category page
+	            echo '<li class="item-current item-cat-' . $category[0]->term_id . ' item-cat-' . $category[0]->category_nicename . '"><span class="bread-current bread-cat-' . $category[0]->term_id . ' bread-cat-' . $category[0]->category_nicename . '">' . $category[0]->cat_name . '</span></li>';
+	        }
+	        // Solutions Sub Pages - Some Hardcoded Type Stuffs
+	        else if(is_tax('sector')) {
+	        	echo '<li><a href="/digital-health-solutions/">Solutions</a></li>';
+	        	echo '<li class="separator">'.$separator.'</li>';
+	        	$term = $wp_query->get_queried_object();
+    			$title = $term->name;
+	        	echo '<li class="item-current">'.$title.'</li>';
+	        }
+	        // Resources Sub Pages - Some Hardcoded Type Stuffs
+	        else if(is_tax('type')) {
+	        	echo '<li><a href="/resources/">Resources</a></li>';
+	        	echo '<li class="separator">'.$separator.'</li>';
+	        	$term = $wp_query->get_queried_object();
+    			$title = $term->name;
+	        	echo '<li class="item-current">'.$title.'</li>';
+	        }
+	        else if ( is_page() ) {	
+	            // Standard page
+	            if( $post->post_parent ){	                 
+	                // If child page, get parents 
+	                $anc = get_post_ancestors( $post->ID );
+	                 
+	                // Get parents in the right order
+	                $anc = array_reverse($anc);
+	                 
+	                // Parent page loop
+	                foreach ( $anc as $ancestor ) {
+	                    $parents .= '<li class="item-parent item-parent-' . $ancestor . '"><a class="bread-parent bread-parent-' . $ancestor . '" href="' . get_permalink($ancestor) . '" title="' . get_the_title($ancestor) . '">' . get_the_title($ancestor) . '</a></li>';
+	                    $parents .= '<li class="separator separator-' . $ancestor . '"> ' . $separator . ' </li>';
+	                }
+	                 
+	                // Display parent pages
+	                echo $parents;
+	                 
+	                // Current page
+	                echo '<li class="item-current item-' . $post->ID . '"><span title="' . get_the_title() . '"> ' . get_the_title() . '</span></li>';	                 
+	            } else {	                 
+	                // Just display current page if not parents
+	                echo '<li class="item-current item-' . $post->ID . '"><span class="bread-current bread-' . $post->ID . '"> ' . get_the_title() . '</span></li>';	                 
+	            }	             
+	        } else if ( is_tag() ) {	             
+	            // Tag page
+	             
+	            // Get tag information
+	            $term_id = get_query_var('tag_id');
+	            $taxonomy = 'post_tag';
+	            $args ='include=' . $term_id;
+	            $terms = get_terms( $taxonomy, $args );
+	             
+	            // Display the tag name
+	            echo '<li class="item-current item-tag-' . $terms[0]->term_id . ' item-tag-' . $terms[0]->slug . '"><span class="bread-current bread-tag-' . $terms[0]->term_id . ' bread-tag-' . $terms[0]->slug . '">' . $terms[0]->name . '</span></li>';
+	        } elseif ( is_day() ) {	             
+	            // Day archive
+	             
+	            // Year link
+	            echo '<li class="item-year item-year-' . get_the_time('Y') . '"><a class="bread-year bread-year-' . get_the_time('Y') . '" href="' . get_year_link( get_the_time('Y') ) . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</a></li>';
+	            echo '<li class="separator separator-' . get_the_time('Y') . '"> ' . $separator . ' </li>';
+	             
+	            // Month link
+	            echo '<li class="item-month item-month-' . get_the_time('m') . '"><a class="bread-month bread-month-' . get_the_time('m') . '" href="' . get_month_link( get_the_time('Y'), get_the_time('m') ) . '" title="' . get_the_time('M') . '">' . get_the_time('M') . ' Archives</a></li>';
+	            echo '<li class="separator separator-' . get_the_time('m') . '"> ' . $separator . ' </li>';
+	             
+	            // Day display
+	            echo '<li class="item-current item-' . get_the_time('j') . '"><span class="bread-current bread-' . get_the_time('j') . '"> ' . get_the_time('jS') . ' ' . get_the_time('M') . ' Archives</span></li>';	             
+	        } else if ( is_month() ) {	             
+	            // Month Archive
+	             
+	            // Year link
+	            echo '<li class="item-year item-year-' . get_the_time('Y') . '"><a class="bread-year bread-year-' . get_the_time('Y') . '" href="' . get_year_link( get_the_time('Y') ) . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</a></li>';
+	            echo '<li class="separator separator-' . get_the_time('Y') . '"> ' . $separator . ' </li>';
+	             
+	            // Month display
+	            echo '<li class="item-month item-month-' . get_the_time('m') . '"><span class="bread-month bread-month-' . get_the_time('m') . '" title="' . get_the_time('M') . '">' . get_the_time('M') . ' Archives</span></li>';	             
+	        } else if ( is_year() ) {	             
+	            // Display year archive
+	            echo '<li class="item-current item-current-' . get_the_time('Y') . '"><span class="bread-current bread-current-' . get_the_time('Y') . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</span></li>';
+	        } else if ( is_author() ) {	             
+	            // Auhor archive
+	             
+	            // Get the author information
+	            global $author;
+	            $userdata = get_userdata( $author );
+	             
+	            // Display author name
+	            echo '<li class="item-current item-current-' . $userdata->user_nicename . '"><span class="bread-current bread-current-' . $userdata->user_nicename . '" title="' . $userdata->display_name . '">' . 'Author: ' . $userdata->display_name . '</span></li>';
+	        } else if ( get_query_var('paged') ) {	             
+	            // Paginated archives
+	            echo '<li class="item-current item-current-' . get_query_var('paged') . '"><span class="bread-current bread-current-' . get_query_var('paged') . '" title="Page ' . get_query_var('paged') . '">'.__('Page') . ' ' . get_query_var('paged') . '</span></li>';
+	        } else if ( is_search() ) {	         
+	            // Search results page
+	            echo '<li class="item-current item-current-' . get_search_query() . '"><span class="bread-current bread-current-' . get_search_query() . '" title="Search results for: ' . get_search_query() . '">Search results for: ' . get_search_query() . '</span></li>';
+	        } elseif ( is_404() ) {
+	            // 404 page
+	            echo '<li>' . 'Error 404' . '</li>';
+	        }	         
+	    }	     
+	    echo '</ul>';	     
+	}

File single.php Added

  • Ignore whitespace
  • Hide word diff
+<?php get_header(); ?>
+
+<section id="content">
+
+    <?php // BREADCRUMB
+    the_breadcrumb(); ?>
+    
+    <?php if (have_posts()) while (have_posts()) : the_post(); ?>
+    
+        <article>    
+            <?php if (have_posts()) while (have_posts()) : the_post(); ?>
+					
+	        <h1><?php the_title(); ?></h1>
+
+		    <?php the_content(); ?>
+	    </article>
+
+	<?php endwhile; ?>
+
+</section>
+
+<?php get_footer(); ?>
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.