Get the Product tags for the current product only in WooCommerce

13,064

Solution 1

You can use the function wp_get_post_terms() function for WooCommerce 'product_tag' custom taxonomy and a defined product id this way:

$output = array();

// get an array of the WP_Term objects for a defined product ID
$terms = wp_get_post_terms( get_the_id(), 'product_tag' );

// Loop through each product tag for the current product
if( count($terms) > 0 ){
    foreach($terms as $term){
        $term_id = $term->term_id; // Product tag Id
        $term_name = $term->name; // Product tag Name
        $term_slug = $term->slug; // Product tag slug
        $term_link = get_term_link( $term, 'product_tag' ); // Product tag link

        // Set the product tag names in an array
        $output[] = '<a href="'.$term_link.'">'.$term_name.'</a>';
    }
    // Set the array in a coma separated string of product tags for example
    $output = implode( ', ', $output );

    // Display the coma separated string of the product tags
    echo $output;
}

Tested and works.

You can replace get_the_id() by a dynamic product Id variable too.

Solution 2

You can now use the wc_get_product_tag_list() function to get a list of the product's tags. It supports providing a separator along with before and after elements.

Example

<?php
    global $product;
?>
    <div class="product-tags">
        <?php echo wc_get_product_tag_list( $product->get_id(), ', ' ); ?>
    </div>
Share:
13,064
DigitalSM
Author by

DigitalSM

Updated on June 14, 2022

Comments

  • DigitalSM
    DigitalSM almost 2 years

    How can I display only the product tags for the current single product page and not all the products tags?

    I've found questions about most popular tags but not for that.

  • DigitalSM
    DigitalSM about 6 years
    Thank you very much, that worked! But how could i display the tags with their links too? Right now i display only the title of the tag.
  • DigitalSM
    DigitalSM about 6 years
    sorry for that and thanks for reminding me. Thanks for the code, it's exactly what i was looking for for many days.