Skip to content

Instantly share code, notes, and snippets.

@gecugamo
Created February 7, 2017 22:20
Show Gist options
  • Save gecugamo/b0b366a45b766a23c5e934aca98b8b79 to your computer and use it in GitHub Desktop.
Save gecugamo/b0b366a45b766a23c5e934aca98b8b79 to your computer and use it in GitHub Desktop.
WordPress Breadcrumbs
<?php
if ( ! function_exists( 'breadcrumbs' ) ) :
function breadcrumbs() {
echo '<ul class="breadcrumbs">';
if ( ! is_home() ) {
echo '<li><a href="' . esc_url( get_option( 'home' ) ) . '">Home</a></li>';
}
if ( is_category() ) {
$categories = get_the_category();
if ( ! empty( $categories ) ) {
echo '<li>' . esc_html( $categories[0]->name ) . '</li>';
}
} elseif ( is_single() ) {
$categories = get_the_category();
if ( ! empty( $categories ) ) {
echo '<li><a href="' . esc_url( get_category_link( $categories[0]->term_id ) ) . '">' . esc_html( $categories[0]->name ) . '</a></li>';
}
echo '<li>' . esc_html( get_the_title() ) . '</li>';
} elseif ( is_page() ) {
echo '<li>' . esc_html( get_the_title() ) . '</li>';
} elseif ( is_tag() ) {
single_tag_title();
} elseif ( is_day() ) {
$date = mysql2date( get_option( 'date_format' ), get_the_date(), true );
$date = apply_filters( 'get_the_date', $date, '' );
echo '<li>Archives for ' . esc_html( $date ) . '</li>';
} elseif ( is_month() ) {
echo '<li>Archives for ' . esc_html( single_month_title( ' ', false ) ) . '</li>';
} elseif ( is_year() ) {
echo '<li>Archives for ' . esc_html( get_query_var( 'year' ) ) . '</li>';
} elseif ( is_author() ) {
$author = get_user_by( 'slug', get_query_var( 'author_name' ) );
if ( ! empty( $author ) ) {
echo '<li>Archives for ' . esc_html( get_the_author_meta( 'display_name', $author->ID ) ) . '</li>';
}
} elseif ( is_search() ) {
echo '<li>You searched for "' . esc_html( get_search_query() ) . '"</li>';
}
echo '</ul>';
}
endif;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment