web-dev-qa-db-fra.com

Comment afficher une seule catégorie dans la navigation dans le fil d'Ariane

J'ai ajouté le fil d'Ariane à WordPress et je suis confronté à un problème. Voici le code function.php du fil d'Ariane:

function ux_breadcrumbs() {
    if (!is_home()) {
        echo '<a href="';
        echo get_option('home');
        echo '">';
        bloginfo('name');
        echo "</a> » ";
        if (is_category() || is_single()) {
            the_category('/');
            echo " » ";
            if (is_single()) {
                echo "  ";
                the_title();
            }
        } elseif (is_page()) {
            echo the_title();
        }
    }
}

Le code ci-dessus affiche toutes les catégories de la publication. Je veux juste qu'il affiche une seule catégorie. Merci d'avance!

MISE À JOUR: / Merci de votre aide ... voici une dernière chose:

Je veux savoir comment afficher catégorie> sous-catégorie dans le fil d'Ariane, s'il existe.

1
Hardeep Asrani

get_the_category() fonction utilisée pour récupérer le tableau de catégories d'un article, et array_shift() fonction utilisée pour obtenir le premier élément d'un tableau.

Vous avez probablement besoin de cela -

function ux_breadcrumbs() {
    if (!is_home()) {
        echo '<a href="';
        echo get_option('home');
        echo '">';
        bloginfo('name');
        echo "</a> » ";
        if (is_category() || is_single() )
        {
            if( is_category() )
            {
                single_term_title();
            }
            elseif (is_single() )
            {
                echo " » ";
                $cats = get_the_category( get_the_ID() );
                $cat = array_shift($cats);
                echo '<a href="' . esc_url( get_category_link( $cat->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $cat->name ) ) . '">'. $cat->name .'</a>';
                echo "  ";
                the_title();
            }
        } elseif (is_page()) {
            echo the_title();
        }
    }
}
1
Shazzad