web-dev-qa-db-fra.com

Obtenez le titre actuel de la catégorie de taxonomie dans woocommerce

Je souhaite afficher le titre actuel de la catégorie de produits de taxonomie dans la page de produit unique.

Le code ci-dessous fonctionne, mais renvoie toutes les catégories de produits. J'ai besoin d'aide pour sélectionner la catégorie actuelle.

<?php 
    global $post;
    $args = array( 'taxonomy' => 'product_cat',);
    $terms = wp_get_post_terms($post->ID,'product_cat', $args);

    $count = count($terms); 
    if ($count > 0) {

    foreach ($terms as $term) {
        echo '<div style="direction:rtl;">';
        echo 'Category: ' . $term->name;
        echo '</div>';
    }
}
?>

Après quelques heures d’expérimentation et de recherche, vous êtes mon dernier espoir de solution. Merci.

2
Kapitol

Vous pouvez utiliser get_the_term_list

echo get_the_term_list( $post->ID, 'product_cat', '<div style="direction:rtl;">', '</div>', '' ); 

Le système d'affichage d'un titre de catégorie sur une seule page de produit échoue si vous commencez à ajouter l'élément à plusieurs catégories.

Je suis devenu fou une fois dans un projet où un client ajoutait des éléments de portefeuille à deux catégories et souhaitait pourtant que je montre le titre de la "bonne" catégorie en fonction. Ce projet m'a amené à créer le plugin Radio Buttons for Taxonomies pour limiter les utilisateurs à un seul terme dans certaines taxonomies.

3
helgatheviking

Dans la plupart des thèmes, je sais que c'est standard, mais le vôtre peut différer. Le code ci-dessous provient du fichier meta.php , qui est chargé d’afficher les métadonnées - catégories, balises - dans woocommerce.

Code:

    <?php
            $size = sizeof( get_the_terms( $post->ID, 'product_cat' ) );
            echo $product->get_categories( ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', $size, 'woocommerce' ) . ' ', '.</span>' );
    ?>

Modifier:

J'ai donné une réponse détaillée à ce problème il y a quelque temps:

2
Nicolai