I'm trying to display a badge with the text "Exclusive" to a specific product in the shop page or category archive or whenever this specific product loop item is displayed.
Yet I have tried to add_action before_shop_loop_item but the problem is that the $product variable does not contain the object. I was thinking of $product->get_id() and if it matches the product id to apply some HTML to that specific product loop item.
add_action('woocommerce_before_shop_loop_item', 'add_custom_badge', 1);
function add_custom_badge( $product ) {
if ( $product->get_id() === 123 ) {
echo '<script>console.log("add_custom_badge")</script>';
}
}
BTW get_id() cannot executed because $product looks like empty. So that's where I stack.
Yeah, and the location I want to print the HTML is woocommerce_before_shop_loop_item - right before the sales badge.
Any suggestions on how to filter through loop items?