El otro día un cliente nos pidió que le añadiéramos a los precios de los productos de su tienda virtual una serie de datos personalizados.

Concretamente se trataba de una frutería online y necesitaba indicar si el precio era por kilo, pieza, bandeja…

Además necesitaba que ese dato personalizado por producto se mostrara en todos los widgets y partes que componían su tienda online.

Solución

Para lograrlo lo primero que hicimos fue crear un campo personalizado, llamado precio_por, en la ficha de productos del Panel de Administración de WooCommerce. Desde ella el cliente podría añadir fácilmente el valor adecuado para cada producto.

A continuación añadimos el siguiente código PHP en el fichero functions.php de su tema hijo:

//Hack para mostrar el precio por
function apg_precio( $price, $product ) {
    if ( get_post_meta( get_the_ID(), 'precio_por', true ) ) {
        return $price . '<br /><span class="precio_por">Precio por ' . get_post_meta( get_the_ID(), 'precio_por', true ) . "</span>";
    } else {
        return $price;
    }
}
add_filter( 'woocommerce_get_price_html', 'apg_precio', 100, 2 );

En él le indicamos a la función nativa de WooCommerce encargada de escribir el precio de los productos en la tienda online que, en caso de que el campo personalizado precio_por tenga algún valor, muestre su valor en el interior de una etiqueta span que se puede modificar fácilmente en la hoja de estilo del tema hijo con código CSS, como por ejemplo este:

.precio_por {
    color: #4a4a4a;
    font-family: "Duru Sans",Arial;
    font-weight: normal;
    line-height: 16px;
}

En caso de que el campo personalizado precio_por no tenga ningún valor mostrará el precio, sin más.

Resultado

Añadiendo datos personalizados a los preciosCon este pequeño código truco se consigue un resultado tan interesante como el que se puede apreciar en la captura que se puede apreciar a la derecha de este mismo párrafo, el precio del producto seguido de un salto de línea y del texto Precio por kilo, por ejemplo.

Conclusión

Gracias a este pequeño tutorial podrás añadir a tus precios cualquier información adicional que necesites incorporar a tu tienda virtual.

Esperamos tus aportaciones y comentarios sobre este pequeño código PHP. Queremos saber si lo has utilizado, dónde y cómo lo has mejorado. ¿Nos lo cuentas?