Home / breadcrumbs / Adding breadcrumbs
  • Adding breadcrumbs

    Adding the first block of code to your functions.php will setup everything for your breadcrumbs. Add the second section of code in the location you wish to have your breadcrumbs displayed.

    wordpress snippet : PHP

    <>
    function dimox_breadcrumbs() {
     
      $delimiter = '&raquo;';
      $name = 'Home'; //text for the 'Home' link
      $currentBefore = '<span class="current">';
      $currentAfter = '</span>';
     
      if ( !is_home() && !is_front_page() || is_paged() ) {
     
        echo '<div id="crumbs">';
     
        global $post;
        $home = get_bloginfo('url');
        echo '<a href="' . $home . '">' . $name . '</a> ' . $delimiter . ' ';
     
        if ( is_category() ) {
          global $wp_query;
          $cat_obj = $wp_query->get_queried_object();
          $thisCat = $cat_obj->term_id;
          $thisCat = get_category($thisCat);
          $parentCat = get_category($thisCat->parent);
          if ($thisCat->parent != 0) echo(get_category_parents($parentCat, TRUE, ' ' . $delimiter . ' '));
          echo $currentBefore . 'Archive by category &#39;';
          single_cat_title();
          echo '&#39;' . $currentAfter;
     
        } elseif ( is_day() ) {
          echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
          echo '<a href="' . get_month_link(get_the_time('Y'),get_the_time('m')) . '">' . get_the_time('F') . '</a> ' . $delimiter . ' ';
          echo $currentBefore . get_the_time('d') . $currentAfter;
     
        } elseif ( is_month() ) {
          echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
          echo $currentBefore . get_the_time('F') . $currentAfter;
     
        } elseif ( is_year() ) {
          echo $currentBefore . get_the_time('Y') . $currentAfter;
     
        } elseif ( is_single() && !is_attachment() ) {
          $cat = get_the_category(); $cat = $cat[0];
          echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
          echo $currentBefore;
          the_title();
          echo $currentAfter;
     
        } elseif ( is_attachment() ) {
          $parent = get_post($post->post_parent);
          $cat = get_the_category($parent->ID); $cat = $cat[0];
          echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
          echo '<a href="' . get_permalink($parent) . '">' . $parent->post_title . '</a> ' . $delimiter . ' ';
          echo $currentBefore;
          the_title();
          echo $currentAfter;
     
        } elseif ( is_page() && !$post->post_parent ) {
          echo $currentBefore;
          the_title();
          echo $currentAfter;
     
        } elseif ( is_page() && $post->post_parent ) {
          $parent_id  = $post->post_parent;
          $breadcrumbs = array();
          while ($parent_id) {
            $page = get_page($parent_id);
            $breadcrumbs[] = '<a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a>';
            $parent_id  = $page->post_parent;
          }
          $breadcrumbs = array_reverse($breadcrumbs);
          foreach ($breadcrumbs as $crumb) echo $crumb . ' ' . $delimiter . ' ';
          echo $currentBefore;
          the_title();
          echo $currentAfter;
     
        } elseif ( is_search() ) {
          echo $currentBefore . 'Search results for &#39;' . get_search_query() . '&#39;' . $currentAfter;
     
        } elseif ( is_tag() ) {
          echo $currentBefore . 'Posts tagged &#39;';
          single_tag_title();
          echo '&#39;' . $currentAfter;
     
        } elseif ( is_author() ) {
           global $author;
          $userdata = get_userdata($author);
          echo $currentBefore . 'Articles posted by ' . $userdata->display_name . $currentAfter;
     
        } elseif ( is_404() ) {
          echo $currentBefore . 'Error 404' . $currentAfter;
        }
     
        if ( get_query_var('paged') ) {
          if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
          echo __('Page') . ' ' . get_query_var('paged');
          if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
        }
     
        echo '</div>';
     
      }
    }
    

    wordpress snippet : PHP

    <>
    <?php 
               if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); 
    ?>
    

Build a better with wpsnipp.com

Weekly snippets, themes, deals coupons roundup.

x No Thanks