Puede que a ti no te haya pasado, pero a tus clientes les ha pasado muchas veces que, al llegar a la página de pago, han rellenado sus datos, han vuelto al carrito para modificar un importe o incluso a la tienda para añadir otro producto. Y cuando regresan a la página de pago, parte de la información ya no está allí, por lo que deben completarla nuevamente.
Que este es el comportamiento predeterminado de WooCommerce, que todos los datos de los visitantes no se guardan hasta que se completa la compra.
Ahora, ¿es eso lo que quieres?, tal vez prefieras ahorrar tiempo a tus clientes, simplemente configurando tu sitio para guardar todos los datos al finalizar la compra.
La solución es agregar esta función:
/* guardar checkout */ add_action( 'woocommerce_checkout_update_order_review', 'weayuda_guardar_checkout_fields', 9999 ); function weayuda_guardar_checkout_fields( $posted_data ) { parse_str( $posted_data, $output ); WC()->session->set( 'checkout_data', $output ); return $posted_data; } add_filter( 'woocommerce_checkout_get_value', 'weayuda_recuperar_checkout_fields', 9999, 2 ); function weayuda_recuperar_checkout_fields( $value, $index ) { $data = WC()->session->get( 'checkout_data' ); if ( ! $data || empty( $data[$index] ) ) return $value; return is_bool( $data[$index] ) ? (int) $data[$index] : $data[$index]; } add_filter( 'woocommerce_ship_to_different_address_checked', 'weayuda_recuperar_checkout_fields_diferentes_direcciones' ); function weayuda_recuperar_checkout_fields_diferentes_direcciones( $checked ) { $data = WC()->session->get( 'checkout_data' ); if ( ! $data || empty( $data['ship_to_different_address'] ) ) return $checked; return true; }
Este código se agrega directamente en:
Cpanel > Administrador de archivos > public_html > Dominio > wp-content > themes > tema utilizado > archivo functions.php
Una vez que lo agreguemos procedemos a entender un poco más el código:
- El primer filtro guarda los datos rellenados por el cliente cuando los rellena durante su primera visita a la página de pago.
- El segundo filtro recupera los datos rellenados en los campos al volver a la página de pago.
- El tercer filtro hace lo mismo, pero con los datos para enviar a una dirección diferente, si la hay.
¿Te ha resultado útil este artículo?
Equipo de soporte WordPress y WooCommerce en Webempresa.