Hace apenas unos minutos Raquel, una lectora y seguidora de nuestro sitio web, nos comentaba en un comentario un problema que se ha encontrado en WooCommerce al hacer uso de nuestro plugin WooCommerce – APG Weight and Postcode/State/Country Shipping.

Concretamente el error hace que en la página de finalización del pedido no se actualice el total en función de la dirección de envío. De forma que el importe total del pedido puede ser erróneo. De hecho, Raquel comenta en su segundo comentario que sólo se actualiza al pulsar la caja de selección del campo Enviar a la dirección de facturación.

En realidad también se actualiza si se cambia el campo País, lo que ocurre es que en su tienda virtual no hay posibilidad al vender única y exclusivamente para España, pero nosotros también necesitamos que la actualización se realice al cambiar de provincia o estado y/o al cambiar de código postal.

Pues bien, la solución es muy simple, para ello sólo vamos a utilizar parte del código que creamos para la entrada ¿Cómo añadir un campo NIF o CIF a WooCommerce 2.0?, la cual también actualizamos con el arreglo al error encontrado, para que aquellos que necesiten añadir este campo también tengan solucionado el problema.

Vamos a modificar, como casi siempre, el archivo functions.php de nuestro tema o hijo de WordPress, en el que vamos a introducir el siguiente código PHP:

function campos_que_actualizan_el_total( $campos ) {
	$campos['state']['class'][0] .= ' update_totals_on_change';
	$campos['postcode']['class'][0] .= ' update_totals_on_change';

	return $campos;
}
add_filter( 'woocommerce_default_address_fields' , 'campos_que_actualizan_el_total' );


Y gracias a esta simple y sencilla modificación habremos arreglado el problema.

Esperamos que tanto a Raquel, como a todos los que habéis sufrido este problema, os resulte útil esta pequeño modificación. Esperamos vuestros comentarios.