Поскольку вы упомянули, что проблема в функции has_term.Если вы можете получить идентификатор продукта внутри Добавить в корзину, то вы можете использовать этот код для получения категорий и проверки их:
$categories = wp_get_post_terms($product_id, 'product_cat');
if(in_array("Accesorios", $categories))
{
echo "bla bla";
}
Я проверил этот код для другой цели, он отлично работает.Я надеюсь, это поможет.Пожалуйста, сообщите мне, когда вы его тестируете, и если у вас возникнут какие-либо ошибки, обновите ваш вопрос новым кодом.