<?php
/*
 * bizzbee Breadcrumbs
*/
function bizzbee_custom_breadcrumbs() {
  $bizzbee_showonhome = 0; // 1 - show breadcrumbs on the homepage, 0 - don't show  
  $bizzbee_showcurrent = 1; // 1 - show current post/page title in breadcrumbs, 0 - don't show

  global $post;
  if (is_home() || is_front_page()) {
    if ($bizzbee_showonhome == 1) echo '<li><a href="' . esc_url ( home_url('/') ). '">' . esc_html__('Home','bizzbee') . '</a></li>';
    
  }  else {

    echo '<li><a href="' . esc_url ( home_url('/') ) . '">' . esc_html__('Home','bizzbee') . '</a> ';
    
   if ( is_category() ) {
      $bizzbee_thisCat = get_category(get_query_var('cat'), false);
      if ($bizzbee_thisCat->parent != 0) echo get_category_parents($bizzbee_thisCat->parent, TRUE, ' ');      
      esc_html_e('category','bizzbee'); echo ' "'.single_cat_title('', false) . '"' ;
    } 
    elseif ( is_search() ) {
       esc_html_e('Search Results For','bizzbee'); echo ' "'. get_search_query() . '"';

    } elseif ( is_day() ) {
      echo '<a href="' . esc_url(get_year_link(get_the_time('Y'))) . '">' . esc_html(get_the_time('Y')) . '</a> ';
      echo '<a href="' . esc_url(get_month_link(get_the_time('Y'),get_the_time('m'))) . '">' . esc_html(get_the_time('F')) . '</a>  ';
      echo  esc_html(get_the_time('d')) ;

    } elseif ( is_month() ) {
      echo '<a href="' . esc_url(get_year_link(get_the_time('Y'))) . '">' . esc_html(get_the_time('Y')) . '</a> ';
      echo  esc_html(get_the_time('F')) ;

    } elseif ( is_year() ) {
      echo  esc_html(get_the_time('Y')) ;

    } elseif ( is_single() && !is_attachment() ) {
      if ( get_post_type() != 'post' ) {
        $bizzbee_post_type = get_post_type_object(get_post_type());
        $bizzbee_slug = $bizzbee_post_type->rewrite;
        echo '<a href="' . esc_url ( home_url('/'. $bizzbee_slug['slug']) ) . '/' . $bizzbee_slug['slug'] . '/">' . esc_html($bizzbee_post_type->labels->singular_name) . '</a>';
        if ($bizzbee_showcurrent == 1) echo  esc_attr(get_the_title()) ;
      } else {
        $bizzbee_cat = get_the_category(); $bizzbee_cat = $bizzbee_cat[0];
        $bizzbee_cats = get_category_parents($bizzbee_cat, TRUE, ' ');
        if ($bizzbee_showcurrent == 0) $bizzbee_cats = preg_replace("#^(.+)\s \s$#", "$1", $bizzbee_cats);
        echo $bizzbee_cats;
        if ($bizzbee_showcurrent == 1) echo  esc_attr(get_the_title()) ;
      }

    } elseif ( !is_single() && !is_page() && get_post_type() != 'post' && !is_404() ) {
      $bizzbee_post_type = get_post_type_object(get_post_type());
      echo  esc_html($bizzbee_post_type->labels->singular_name) ;

    } elseif ( is_attachment() ) {
      $bizzbee_parent = get_post($post->post_parent);
      $bizzbee_cat = get_the_category($bizzbee_parent->ID); $bizzbee_cat = $bizzbee_cat[0];
      echo get_category_parents($bizzbee_cat, TRUE, '  ');
      echo '<a href="' . esc_url(get_permalink($bizzbee_parent)) . '">' . $bizzbee_parent->post_title . '</a>';
      if ($bizzbee_showcurrent == 1) echo  esc_attr(get_the_title()) ;

    } elseif ( is_page() && !$post->post_parent ) {
      if ($bizzbee_showcurrent == 1) echo  esc_attr(get_the_title()) ;

    } elseif ( is_page() && $post->post_parent ) {
      $bizzbee_parent_id  = $post->post_parent;
      $bizzbee_breadcrumbs = array();
      while ($bizzbee_parent_id) {
        $bizzbee_page = get_page($bizzbee_parent_id);
        $bizzbee_breadcrumbs[] = '<a href="' . get_permalink($bizzbee_page->ID) . '">' . esc_attr(get_the_title($bizzbee_page->ID)) . '</a>';
        $bizzbee_parent_id  = $bizzbee_page->post_parent;
      }
      $bizzbee_breadcrumbs = array_reverse($bizzbee_breadcrumbs);
      for ($bizzbee_i = 0; $bizzbee_i < count($bizzbee_breadcrumbs); $bizzbee_i++) {
        echo $bizzbee_breadcrumbs[$bizzbee_i];
        if ($bizzbee_i != count($bizzbee_breadcrumbs)-1) echo ' ';
      }
      if ($bizzbee_showcurrent == 1) echo esc_attr(get_the_title()) ;

    } elseif ( is_tag() ) {
       esc_html_e('Posts tagged','bizzbee'); echo ' "'.  single_tag_title('', false) . '"' ;

    } elseif ( is_author() ) {
       global $author;
      $bizzbee_userdata = get_userdata($author);
       esc_html_e('Articles posted by ','bizzbee'); echo esc_html($bizzbee_userdata->display_name) ;

    } elseif ( is_404() ) {
       esc_html_e('Error 404','bizzbee'); 
    }
    
    if ( get_query_var('paged') ) {
      if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
      echo esc_html__('Page','bizzbee') . ' ' . esc_html(get_query_var('paged'));
      if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
    }
    echo '</li>';
  }
} ?>