How to display parent category name and link for custom breadcrumb

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 ) );
}

Leave a Comment