2
votes

I use the below to add custom html or a text in WooCommerce single product pages, after short description:

function my_content( $content ) {
    $content .= '<div class="custom_content">Custom content!</div>';

    return $content;
}
add_filter('woocommerce_short_description', 'my_content', 10, 2);

How to restrict this on product pages that contain a specific product tag (not a product category)?

1

1 Answers

2
votes

You can use has_term() WordPress conditional function, to restrict your custom content to be displayed only for products that have specific product tag(s) as follows (defining below in the function your product tag(s) term(s)):

add_filter('woocommerce_short_description', 'my_content', 10, 2);
function my_content( $content ) {
    // Here define your specific product tag terms (can be Ids, slugs or names)
    $product_tags = array( 'Garden', 'Kitchen' );

    if( has_term( $product_tags, 'product_tag', get_the_ID() ) ) {
        $content .= '<div class="custom_content">' . __("Custom text!", "") . '</div>';
    }
    return $content;
}

Code goes in functions.php file of the active child theme (or active theme). It should works.