I’m currently trying to figure out how to display a categories parent / grand parents name and url for a custom breadcrumb I’m working on.
I simply need to know how to show the parent categories information on a child category page.
For example
if parent
blog
else if child
blog > parent_category
else if grandchild
blog > grand_parent_category > parent_category
1 Answer
You can use get_ancestors
:
<?php
if ( $term_ids = get_ancestors( get_queried_object_id(), 'category', 'taxonomy' ) ) {
$crumbs = [];
foreach ( $term_ids as $term_id ) {
$term = get_term( $term_id, 'category' );
if ( $term && ! is_wp_error( $term ) ) {
$crumbs[] = sprintf( '<a href="https://wordpress.stackexchange.com/questions/225528/%s">%s</a>', esc_url( get_term_link( $term ) ), esc_html( $term->name ) );
}
}
echo implode( ' > ', array_reverse( $crumbs ) );
}