You are currently here!' );*/ $home_link = esc_url(home_url('/')); $home_text = esc_html__( 'Home', 'neatly' ); $link_before = '
  • '; $link_after = '
  • '; $link_prop_before = ''; $link_prop_after = ''; $link = $link_before . '%2$s' . $link_after; $delimiter = '»';/* Delimiter between crumbs' » '*/ $before = '
  • ';/* Tag before the current crumb*/ $after = '
  • ';/* Tag after the current crumb*/ $page_addon = '';/* Adds the page number if the query is paged*/ $breadcrumb_trail = ''; $category_links = ''; /* Set our own $wp_the_query variable. Do not use the global variable version due to*/ /* reliability*/ $wp_the_query = $GLOBALS['wp_the_query']; $queried_object = $wp_the_query->get_queried_object(); /* Handle single post requests which includes single pages, posts and attatchments*/ if ( is_singular() ) { /* Set our own $post variable. Do not use the global variable version due to*/ /* reliability. We will set $post_object variable to $GLOBALS['wp_the_query']*/ $post_object = sanitize_post( $queried_object ); /* Set variables */ $title = esc_html($post_object->post_title); $parent = $post_object->post_parent; $post_type = $post_object->post_type; $post_id = $post_object->ID; $post_link = $before . $title . $after; $parent_string = ''; $post_type_link = ''; if ( 'post' === $post_type ) { /* Get the post categories*/ $categories = get_the_category( $post_id ); if ( $categories ) { /* Lets grab the first category*/ $category = $categories[0]; $category_links = get_category_parents( $category, true, $delimiter ); $category_links = mb_ereg_replace(">(.*?)<\/a>",">$link_prop_before\\1$link_prop_after",$category_links); $category_links = str_replace( 'labels->singular_name ); } /* Get post parents if $parent !== 0*/ if ( 0 !== $parent ) { $parent_links = array(); while ( $parent ) { $post_parent = get_post( $parent ); $parent_links[] = sprintf( $link, esc_url( get_permalink( $post_parent->ID ) ), get_the_title( $post_parent->ID ) ); $parent = $post_parent->post_parent; } $parent_links = array_reverse( $parent_links ); $parent_string = implode( $delimiter, $parent_links ); } /* Lets build the breadcrumb trail*/ if ( $parent_string ) { $breadcrumb_trail = $parent_string . $delimiter . $post_link; } else { $breadcrumb_trail = $post_link; } if ( $post_type_link ) $breadcrumb_trail = $post_type_link . $delimiter . $breadcrumb_trail; if ( $category_links ) $breadcrumb_trail = $category_links . $breadcrumb_trail; }elseif( is_archive() ){ /* Handle archives which includes category-, tag-, taxonomy-, date-, custom post type archives and author archives*/ if ( is_category() || is_tag() || is_tax() ) { /* Set the variables for this section*/ $term_object = get_term( $queried_object ); $taxonomy = $term_object->taxonomy; $term_id = $term_object->term_id; $term_name = $term_object->name; $term_parent = $term_object->parent; $taxonomy_object = get_taxonomy( $taxonomy ); $current_term_link = $before . $taxonomy_object->labels->singular_name . ': ' . $term_name . $after; $parent_term_string = ''; if ( 0 !== $term_parent ) { /* Get all the current term ancestors*/ $parent_term_links = array(); while ( $term_parent ) { $term = get_term( $term_parent, $taxonomy ); $parent_term_links[] = sprintf( $link, esc_url( get_term_link( $term ) ), $term->name ); $term_parent = $term->parent; } $parent_term_links = array_reverse( $parent_term_links ); $parent_term_string = implode( $delimiter, $parent_term_links ); } if ( $parent_term_string ) { $breadcrumb_trail = $parent_term_string . $delimiter . $current_term_link; } else { $breadcrumb_trail = $current_term_link; } } elseif ( is_author() ) { $breadcrumb_trail = esc_html__( 'Author archive for ', 'neatly' ) . $before . $queried_object->data->display_name . $after; } elseif ( is_date() ) { /* Set default variables*/ $year = $wp_the_query->query_vars['year']; $monthnum = $wp_the_query->query_vars['monthnum']; $day = $wp_the_query->query_vars['day']; /* Get the month name if $monthnum has a value*/ if ( $monthnum ) { $date_time = DateTime::createFromFormat( '!m', $monthnum ); $month_name = $date_time->format( 'F' ); } if ( is_year() ) { $breadcrumb_trail = $before . $year . $after; } elseif( is_month() ) { $year_link = sprintf( $link, esc_url( get_year_link( $year ) ), $year ); $breadcrumb_trail = $year_link . $delimiter . $before . $month_name . $after; } elseif( is_day() ) { $year_link = sprintf( $link, esc_url( get_year_link( $year ) ), $year ); $month_link = sprintf( $link, esc_url( get_month_link( $year, $monthnum ) ), $month_name ); $breadcrumb_trail = $year_link . $delimiter . $month_link . $delimiter . $before . $day . $after; } } elseif ( is_post_type_archive() ) { $post_type = $wp_the_query->query_vars['post_type']; $post_type_object = get_post_type_object( $post_type ); $breadcrumb_trail = $before . $post_type_object->labels->singular_name . $after; } }elseif ( is_search() && !is_paged()) { /* Handle the search page*/ /* translators: %s: search term */ $breadcrumb_trail = $before . sprintf( esc_html__( 'Search query for: %s', 'neatly' ) , get_search_query()) . $after; }elseif ( is_search() && is_paged()) { $current_page = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : get_query_var( 'page' ); /* translators: %s: search term */ $breadcrumb_trail = $before . sprintf(esc_html__( 'Search query for: %s', 'neatly' ) , get_search_query()). sprintf( esc_html__( '( Page %s )' , 'neatly' ), number_format_i18n( $current_page ) ) . $after; }elseif ( is_404() ) { /* Handle 404's*/ $breadcrumb_trail = $before . esc_html__( 'Error 404', 'neatly' ) . $after; }elseif ( is_paged() && !is_search() ) { /* Handle paged pages*/ $current_page = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : get_query_var( 'page' ); /* translators: %s: number */ $page_addon = $before . sprintf( esc_html__( '( Page %s )' , 'neatly' ), number_format_i18n( $current_page ) ) . $after; }else{ return; } $breadcrumb_output_link = ''; if ( is_home() || is_front_page() ) { /* Do not show breadcrumbs on page one of home and frontpage*/ if ( is_paged() ) { /*$breadcrumb_output_link .= $here_text . $delimiter;*/ $breadcrumb_output_link .= '
  • ' . $home_text . '
  • '; $breadcrumb_output_link .= $page_addon; } } else { /*$breadcrumb_output_link .= $here_text . $delimiter;*/ $breadcrumb_output_link .= '
  • ' . $home_text . '
  • '; $breadcrumb_output_link .= $delimiter; $breadcrumb_output_link .= $breadcrumb_trail; $breadcrumb_output_link .= $page_addon; } if(!get_theme_mod( 'neatly_breadcrumbs_current',true)){ $str = '/<\/li> »
  • (.*)<\/span><\/li>/u'; $breadcrumb_output_link = preg_replace( $str , '
  • ' , $breadcrumb_output_link ,1); } $breadcrumb_output_link = ''; echo $breadcrumb_output_link; }/*end of neatly_breadcrumb_list*/