2011-12-12 11:35:54 +00:00
< ? php
/**
* Shop Breadcrumb
*/
global $post , $wp_query , $author , $paged , $delimiter , $wrap_before , $wrap_after , $before , $after , $home ;
2012-01-05 11:31:22 +00:00
if ( ! $home ) $home = _x ( 'Home' , 'breadcrumb' , 'woocommerce' );
2011-12-12 11:35:54 +00:00
$home_link = home_url ();
$prepend = '' ;
2012-01-06 17:14:31 +00:00
if ( get_option ( 'woocommerce_prepend_shop_page_to_urls' ) == " yes " && woocommerce_get_page_id ( 'shop' ) && get_option ( 'page_on_front' ) !== woocommerce_get_page_id ( 'shop' ) )
$prepend = $before . '<a href="' . get_permalink ( woocommerce_get_page_id ( 'shop' ) ) . '">' . get_the_title ( woocommerce_get_page_id ( 'shop' ) ) . '</a> ' . $after . $delimiter ;
2011-12-12 11:35:54 +00:00
2012-01-06 17:14:31 +00:00
if ( ( ! is_home () && ! is_front_page () && ! ( is_post_type_archive () && get_option ( 'page_on_front' ) == woocommerce_get_page_id ( 'shop' ))) || is_paged () ) :
2011-12-12 11:35:54 +00:00
echo $wrap_before ;
echo $before . '<a class="home" href="' . $home_link . '">' . $home . '</a> ' . $after . $delimiter ;
if ( is_category () ) :
$cat_obj = $wp_query -> get_queried_object ();
$this_category = $cat_obj -> term_id ;
$this_category = get_category ( $this_category );
if ( $thisCat -> parent != 0 ) :
$parent_category = get_category ( $this_category -> parent );
echo get_category_parents ( $parent_category , TRUE , $delimiter );
endif ;
echo $before . single_cat_title ( '' , false ) . $after ;
elseif ( is_tax ( 'product_cat' ) ) :
$term = get_term_by ( 'slug' , get_query_var ( 'term' ), get_query_var ( 'taxonomy' ) );
$parents = array ();
$parent = $term -> parent ;
while ( $parent ) :
$parents [] = $parent ;
$new_parent = get_term_by ( 'id' , $parent , get_query_var ( 'taxonomy' ));
$parent = $new_parent -> parent ;
endwhile ;
if ( ! empty ( $parents )) :
$parents = array_reverse ( $parents );
foreach ( $parents as $parent ) :
$item = get_term_by ( 'id' , $parent , get_query_var ( 'taxonomy' ));
echo $before . '<a href="' . get_term_link ( $item -> slug , 'product_cat' ) . '">' . $item -> name . '</a>' . $after . $delimiter ;
endforeach ;
endif ;
$queried_object = $wp_query -> get_queried_object ();
echo $prepend . $before . $queried_object -> name . $after ;
elseif ( is_tax ( 'product_tag' ) ) :
$queried_object = $wp_query -> get_queried_object ();
2012-01-05 11:31:22 +00:00
echo $prepend . $before . __ ( 'Products tagged “' , 'woocommerce' ) . $queried_object -> name . '”' . $after ;
2011-12-12 11:35:54 +00:00
elseif ( is_day () ) :
echo $before . '<a href="' . get_year_link ( get_the_time ( 'Y' )) . '">' . get_the_time ( 'Y' ) . '</a>' . $after . $delimiter ;
echo $before . '<a href="' . get_month_link ( get_the_time ( 'Y' ), get_the_time ( 'm' )) . '">' . get_the_time ( 'F' ) . '</a>' . $after . $delimiter ;
echo $before . get_the_time ( 'd' ) . $after ;
elseif ( is_month () ) :
echo $before . '<a href="' . get_year_link ( get_the_time ( 'Y' )) . '">' . get_the_time ( 'Y' ) . '</a>' . $after . $delimiter ;
echo $before . get_the_time ( 'F' ) . $after ;
elseif ( is_year () ) :
echo $before . get_the_time ( 'Y' ) . $after ;
2012-01-06 17:14:31 +00:00
elseif ( is_post_type_archive ( 'product' ) && get_option ( 'page_on_front' ) !== woocommerce_get_page_id ( 'shop' ) ) :
2011-12-12 11:35:54 +00:00
2012-01-06 17:14:31 +00:00
$_name = woocommerce_get_page_id ( 'shop' ) ? get_the_title ( woocommerce_get_page_id ( 'shop' ) ) : ucwords ( get_option ( 'woocommerce_shop_slug' ));
2011-12-12 11:35:54 +00:00
if ( is_search ()) :
2012-01-05 11:31:22 +00:00
echo $before . '<a href="' . get_post_type_archive_link ( 'product' ) . '">' . $_name . '</a>' . $delimiter . __ ( 'Search results for “' , 'woocommerce' ) . get_search_query () . '”' . $after ;
2011-12-12 11:35:54 +00:00
else :
echo $before . '<a href="' . get_post_type_archive_link ( 'product' ) . '">' . $_name . '</a>' . $after ;
endif ;
elseif ( is_single () && ! is_attachment () ) :
if ( get_post_type () == 'product' ) :
echo $prepend ;
if ( $terms = wp_get_object_terms ( $post -> ID , 'product_cat' )) :
$term = current ( $terms );
$parents = array ();
$parent = $term -> parent ;
while ( $parent ) :
$parents [] = $parent ;
$new_parent = get_term_by ( 'id' , $parent , 'product_cat' );
$parent = $new_parent -> parent ;
endwhile ;
if ( ! empty ( $parents )) :
$parents = array_reverse ( $parents );
foreach ( $parents as $parent ) :
$item = get_term_by ( 'id' , $parent , 'product_cat' );
echo $before . '<a href="' . get_term_link ( $item -> slug , 'product_cat' ) . '">' . $item -> name . '</a>' . $after . $delimiter ;
endforeach ;
endif ;
echo $before . '<a href="' . get_term_link ( $term -> slug , 'product_cat' ) . '">' . $term -> name . '</a>' . $after . $delimiter ;
endif ;
echo $before . get_the_title () . $after ;
elseif ( get_post_type () != 'post' ) :
$post_type = get_post_type_object ( get_post_type ());
$slug = $post_type -> rewrite ;
echo $before . '<a href="' . get_post_type_archive_link ( get_post_type ()) . '">' . $post_type -> labels -> singular_name . '</a>' . $after . $delimiter ;
echo $before . get_the_title () . $after ;
else :
$cat = current ( get_the_category ());
echo get_category_parents ( $cat , TRUE , $delimiter );
echo $before . get_the_title () . $after ;
endif ;
elseif ( is_404 () ) :
2012-01-05 11:31:22 +00:00
echo $before . __ ( 'Error 404' , 'woocommerce' ) . $after ;
2011-12-12 11:35:54 +00:00
elseif ( ! is_single () && ! is_page () && get_post_type () != 'post' ) :
$post_type = get_post_type_object ( get_post_type ());
if ( $post_type ) : echo $before . $post_type -> labels -> singular_name . $after ; endif ;
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 $before . '<a href="' . get_permalink ( $parent ) . '">' . $parent -> post_title . '</a>' . $after . $delimiter ;
echo $before . get_the_title () . $after ;
elseif ( is_page () && ! $post -> post_parent ) :
echo $before . get_the_title () . $after ;
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 ;
endforeach ;
echo $before . get_the_title () . $after ;
elseif ( is_search () ) :
2012-01-05 11:31:22 +00:00
echo $before . __ ( 'Search results for “' , 'woocommerce' ) . get_search_query () . '”' . $after ;
2011-12-12 11:35:54 +00:00
elseif ( is_tag () ) :
2012-01-05 11:31:22 +00:00
echo $before . __ ( 'Posts tagged “' , 'woocommerce' ) . single_tag_title ( '' , false ) . '”' . $after ;
2011-12-12 11:35:54 +00:00
elseif ( is_author () ) :
$userdata = get_userdata ( $author );
2012-01-05 11:31:22 +00:00
echo $before . __ ( 'Author:' , 'woocommerce' ) . ' ' . $userdata -> display_name . $after ;
2011-12-12 11:35:54 +00:00
endif ;
if ( get_query_var ( 'paged' ) ) :
2012-01-05 11:31:22 +00:00
echo ' (' . __ ( 'Page' , 'woocommerce' ) . ' ' . get_query_var ( 'paged' ) . ')' ;
2011-12-12 11:35:54 +00:00
endif ;
echo $wrap_after ;
endif ;