Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get the Product tags for the current product only in WooCommerce

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.

like image 663
DigitalSM Avatar asked Feb 07 '18 16:02

DigitalSM


1 Answers

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.

like image 138
LoicTheAztec Avatar answered Sep 21 '22 09:09

LoicTheAztec