Mostrar un texto por defecto si no existe un precio en nuestra tienda Woocommerce es algo altamente recomendable en un proyecto ya que de esta forma si el administrador de la tienda olvida poner el precio, mostraremos un mensaje de texto en su lugar como por ejemplo “Consultar precio” o “Precio no disponible” que siempre quedará mejor que un hueco vacío en nuestra maquetación.
Lo vamos a hacer con una función muy sencilla que pondremos en nuestro archivo functions.php, el código es el siguiente:
// Mostrar texto si no hay precio en Woocommerce
add_filter('woocommerce_get_price_html', 'ddw_if_no_price_woo', 100, 2);
function ddw_if_no_price_woo($price, $product) {
if ($product->price <= 0) {
return 'Consultar precio';
} else {
return $price;
}
}
Ahora en todos los productos que no exista precio veremos el mensaje “Consultar precio” tanto en el front-end como en el back-end.
Es importante comprobar que funciona correctamente con los productos “Variables” ya que según la versión de Woocommerce puede variar el comportamiento, aunque con una función tan sencilla no resulta muy complicado testear su comportamiento en cada caso.
Además de esto deberíamos crear un texto diferente para el botón de “Añadir al carrito” y comprobar las acciones del mismo cuando no exista precio disponible.
Quizás te interese leer …
Vaciar la caché de Autoptimize de forma automática
Edgar 22 abril, 2023
MUY BIEN, me funciónó !!!
Solo que cuando hago la prueba de ingresarlo al carrito de compra, cuando veo el carrito ahi ya se ve el precio,
puedo omitir ese precio u ocultarlo , o poner nuevamente otro mensaje ?
inxdix * gmail . com
Roque Arnás 24 abril, 2023
Hola Edgar
Para ocultar el precio en cualquier sección de tu tienda debes acceder a los archivos de Woocommerce y buscar el bloque que quieres ocultar para elimininarlo, también puedes hacerlo por css, res
pecto al mensaje puedes cambiarlo por el texto que consideres oportuno, espero que te ayude, gracias por el comentario 🙂
Edgar 14 abril, 2023
Excelente
Koky Gonzalez 12 julio, 2021
Excelente! Muchas gracias. Solución simple y eficaz
Fernando Rodriguez 13 abril, 2021
Excelente
Dominios.Marketing 26 diciembre, 2019
¡Muchas gracias! Solución eficaz y sin plugins.
Fran 27 noviembre, 2019
Funciona 10 puntos