Skip to content

Instantly share code, notes, and snippets.

@besimhu
Last active August 29, 2015 14:17
Show Gist options
  • Save besimhu/5231a2947ed7adb4cda2 to your computer and use it in GitHub Desktop.
Save besimhu/5231a2947ed7adb4cda2 to your computer and use it in GitHub Desktop.
Basic breadcrumbs
<?php
function the_breadcrumb() {
global $post;
$blog = '<li><a href="'.esc_url( home_url() ).'/blog/" ?>Blog</a></li>';
echo '<div class="breadcrumbs-wrap">';
echo '<ul class="breadcrumbs">';
if (is_category() ) {
echo '<li>';
the_category('');
echo '</li>';
if (is_single()) {
echo '<li>';
the_title();
echo '</li>';
}
// check to see if it's a single blog post or blog
} else if ( is_singular('post') OR is_home() ) {
echo $blog;
if (is_single()) {
echo '<li>';
the_title();
echo '</li>';
}
// check if it's a custom post type (example)
} else if ( is_singular('news-releases') OR is_post_type_archive('news-releases') ) {
echo '<li><a href="'.esc_url( home_url() ).'/about-us/">About Us</a></li>';
echo '<li><a href="'.esc_url( home_url() ).'/about-us/news-releases/">News Releases</a></li>';
// check if it's a page
} elseif (is_page()) {
if($post->post_parent){
$anc = get_post_ancestors( $post->ID );
$title = get_the_title();
$output = '';
foreach ( $anc as $ancestor ) {
$output = '<li><a href="'.get_permalink($ancestor).'" title="'.get_the_title($ancestor).'">'.get_the_title($ancestor).'</a></li>' . $output;
}
echo $output;
echo '<li>'.$title.'</li>';
} else {
echo '<li>'.get_the_title().'</li>';
}
}
elseif (is_tag()) {single_tag_title();}
elseif (is_day()) {echo"$blog <li>Archive for "; the_time('F jS, Y'); echo'</li>';}
elseif (is_month()) {echo"$blog <li>Archive for "; the_time('F, Y'); echo'</li>';}
elseif (is_year()) {echo"$blog <li>Archive for "; the_time('Y'); echo'</li>';}
elseif (is_author()) {echo"$blog <li>Author Archive"; echo'</li>';}
elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "$blog <li>Blog Archives"; echo'</li>';}
elseif (is_search()) {echo"<li>Search Results"; echo'</li>';}
echo '</ul>';
echo '</div>';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment