Cuando en tu tienda en línea creada con WooCommerce ofreces productos gratuitos en ocasiones es confuso mostrar 0,00 € como precio, y sería mejor mostrar un texto que, claramente, indicase que el producto es gratuito ¿no te parece?

Para conseguirlo solo tienes que añadir unas pocas líneas de código a tu archivo functions.php o el método que prefieras para este tipo de personalizaciones, como estas:
/* Mostrar texto GRATIS en vez de precio cero */
add_filter( 'woocommerce_get_price_html', 'ayudawp_precio_cero_gratis', 9999, 2 );
function ayudawp_precio_cero_gratis( $price, $product ){
if ( '' === $product->get_price() || 0 == $product->get_price() ) {
$price = '<span class="woocommerce-Price-amount amount">GRATIS</span>';
}
return $price;
}
En este código, si el precio de un producto es cero en la página de producto individual, lo sustituimos por el texto «GRATIS», que puedes cambiar por otro que tú prefieras, haciendo así más clara la gratuidad del producto.

¡Ya está!, así de fácil y rápido.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!







Buenas tardes Fernando,
Y si sale gratis y no quieres que salga ningún concepto. ¿Cómo se realizaria?
Saludos cordiales y gracias adelantadas.
pues no pones nada, quitas lo de GRATIS, o como mucho un
nbsp;(con & delante que lo he quitado porque sino no se ve) que lo sustituye por un espacio vacíoGracias Fernando,
Me surge otra duda, Tengo cursos de pago y alguno gratis pero a veces no deseo que un curso tenga precio ni que sea gratis pero si no pongo precio y el valor cero la plantilla me obliga a poner Gratis.
Cómo puede decidir lo que quiero poner en un producto (curso) si es gratis o no ponga nada u otra etiqueta.
Gracias por tu ayuda.
Para eso creo recordar que hay algún plugin, como el booster, y sino te vale avisa y preparo una función basada en el ID o algo así.