Buenas tardes.
Me salen los precios con decimales en WooCommerce. Eso se como quitarlo, no hay problema, pero cuando se realiza la compra, el sistema me manda el precio, lo que se cobra, en decimales. Es decir, en la web pone 15,00€. Si pongo para que salgan 15€, al realizar el pago, se cobran 0,15€. He mirado cosas y me hablan de poner un código pero no me aclaran bien en que lugar se pone. ¿Me podéis ayudar? Muchas gracias
Contenido solo visible a usuarios registrados
Que tal Lola,
He mirado cosas y me hablan de poner un código pero no me aclaran bien en que lugar se pone.
Podrias mostrarnos a que codigo te refieres? tienes configurados impuestos o costos de envio extras que agreguen estos decimales?
Puedes probar borrar los datos temporales desde las opciones de Wooocommerce-> Estado-> Herramientas
Saludos!
@bruno-vichetti Esto es lo que ponen:
Despues de una larga investigacion encontre la solucion para sacar los decimales al precio del plugin WP Ecommerce de WordPress. Hay que recordar que el precio de un producto en dolares tiene decimales para expresar los centavos. Como aca en Chile no usamos decimales tuve que removerlos.
Aqui esta la solucion:
Buscamos el archivo processing.functions.php en la siguiente ruta:
…/wp-content/plugins/wp-e-commerce/wpsc-includes/processing.functions.php
y cambiamos en la linea 27:
$decimals = 2; // default is 2
por:
$decimals = 0; // default is 2
y listo!
Pero no encuentro el archivo /wp-content/plugins/wp-e-commerce/wpsc-includes/processing.functions.php
Hola Lola,
Al parecer estas viendo un contenido a un plugin que no esta relacionado con WooCommerce, WP eCommerce es un plugin que lleva mas de dos años inactivo
https://wordpress.org/plugins/wp-e-commerce/
Por otra parte desde WooCommerce recuerda que puedes retirar los decimales a los precios visibles
Por ultimo si deseas probar un codigo en concreto puedes probar el siguiente, el cual debe ir en tu archivo de functions.php o desde el plugin de Code snippets
add_filter( 'woocommerce_price_trim_zeros', '__return_true' );
Saludos!
@bruno-vichetti Ya había visto que era de otro sitio, pero buscaba algo parecido para el WooCommerce actual. Probaré el código que me envías, ya que si quito los decimales de donde me dices es cuando el banco me cobra 0,15€ en vez de 15€. Muchas gracias
Que tal Lola,
Vale prueba y nos comentas, estaremos atentos
Saludos!
No hay forma. Pongo el código que me has dicho y nada
Hola Lola,
Probemos con este otro codigo
add_filter( 'formatted_woocommerce_price', 'dcwd_remove_zero_decimals', 10, 5 );
function dcwd_remove_zero_decimals( $formatted_price, $price, $decimal_places, $decimal_separator, $thousand_separator ) {
if ( $price - intval( $price ) == 0 ) {
// Format units, including thousands separator if necessary.
return $unit = number_format( intval( $price ), 0, $decimal_separator, $thousand_separator );
}
else {
return $formatted_price;
}
}
Saludos
@bruno-vichetti Nada. No funciona. Además, no me deja editar el archivo functions.php en el tema hijo. Me sale el código en la cabecera de la web. De todas formas, lo he puesto también en el tema padre
Hola Lola,
Para evitar discrepancias por ello te he sugerido utilizar el plugin Code snippets y alli colocar los fragmentos de codigo
Por otra parte ya probaste las opciones nativas de woocommerce que te he mostrado?
Saludos!
@bruno-vichetti Lo nativo ya lo he probado, y el Code Snippets la verdad es que estoy intentando quitar todos los plugin que pueda ya que la página tarda mucho en cargar
Hola Lola,
El plugin simplemente lo que aporta es un apartado donde puedas agregar codigo personalizado sin tener que modificar archivos de los temas activos ademas de que puedas eliminarlos sin inconvenientes, no representa una carga extra a tu sitio.
Ahora bien yo he replicado el ajuste desde Woocommerce y si que me ha funcionado
Como te consulte antes, estas utilizando alguna configuracion para los impuestos? estos decimales los define una pasarela de pago en particular?
Mientras mas detalles tengamos podremos ayudarte
Saludos!
@bruno-vichetti A ver. Cuando aplicas el cambio funciona, pero lo que llega en mi pasarela de pago está mal. Lo mismo es un problema de la pasarela, pero lo estoy mirando y no veo nada raro
Ya está. Estoy un poco espeso. Tengo el Code activado y he puesto el primer código que me habéis mandado y ya funciona. Disculpar, pero el tema de la carga de la página me tiene un poco saturado. Muchas gracias
Hola Lola,
Cuando aplicas el cambio funciona, pero lo que llega en mi pasarela de pago está mal.
He alli el problema, si la pasarela de pago en este caso Redsys requiere montos con decimales ya es algo que corresponde a ellos, es por ello que el ajuste si que funciona a cara de tu web pero los cargos que haga la pasarela y como interprete los costos en lugar de ser valores enteros sino con decimales ya es el estandar de dicha pasarela.
Consulta directamente con Redsys si existe la posibilidad de que tomen montos enteros, de lo contrario es una situacion con la que debes lidiar para su correcto uso
Saludos!