Checkout de Woocommerce en un sólo paso – Direct Checkout

Lectura de 4 min.

Algo que siempre me ha incomodado de los carritos de compra, es ¿Por qué tantos pasos? No me parece una buena experiencia de usuario, por esa razón hoy te explicaré cómo simplificar este proceso en un sólo paso uniendo el carrito de compras y el checkout en una sola página (Direct Checkout).

Tabla de contenido

Para efectos del tutorial voy a realizarlo de dos maneras diferentes, la primera con unas pocas líneas de código y otra por medio de un plugin ¿Por qué no con el plugin y ya? Porque entre menos plugins mejor, los plugins cargan mucho las páginas y si hay una forma de hacerlo sin plugins, lo mejor es optar por esta opción.

Direct Checkout sin plugins

Vamos a usar unas pocas líneas de código, no te preocupes si no entiendes nada, sólo hay que copiar y pegar, de igual manera te dejo el código con comentarios para que te guíes por si deseas cambiar algo.

Recuerda que para añadir estas funciones PHP debe hacerse por medio del archivo functions.php y siempre aconsejo hacerlo por medio de un child theme. Otra opción muy válida y en especial cuando usamos muchos Snippeds, es usando el plugin Code Snippets

code snippets
Free
Code Snippets

La mejor opción para añadir código PHP adicional a tu WordPress, mayormente lo utilizo en proyectos en los que añado muchas funciones PHP para ser más organizado.

Añadiendo el carrito en la página de Checkout

Así se vería el carrito de compras y el checkout en la misma página

Lo primero que debemos hacer para tener nuestro direct checkout es unir las dos páginas, es decir, que tanto el carrito de compras y la página de finalizar compra estén en un sólo lugar. Para ello vamos a insertar el siguiente código:

# AÑADIR CARRITO EN LA PÁGINA DE CHECKOUT

function bps_cart_checkout_same_page() {
	if ( is_wc_endpoint_url( 'order-received' ) ) return;
	echo do_shortcode('[woocommerce_cart]');
}

add_action( 'woocommerce_before_checkout_form', 'bps_cart_checkout_same_page', 5 );

Redirigir directamente al checkout sin pasar por el carrito

Ahora que tenemos nuestro carrito de compras en la misma página del checkout, no es necesario pasar por ella, lo que queremos es que todo se haga mediante un sólo paso, para lograr esto, debemos redirigir todos los enlaces del carrito directamente al checkout mediante el siguiente código:

# REDIRIGIR DIRECTAMENTE AL CHECKOUT

function redirect_checout() {
	
	if ( !is_cart() ) return;

	global $woocommerce;

	if ( $woocommerce->cart->is_empty() ) {
		// Si el carrito Está vacio redirigir al home, aquí puedes añadir otra url
		wp_redirect( get_home_url(), 302 );
	} else {
		// Redirigir al checkout en vez del carrito
		wp_redirect( $woocommerce->cart->get_checkout_url(), 302 );
	}
	
	exit;
}

add_action( 'template_redirect', 'redirect_checout' );

Cambiar texto de ver carrito o finalizar compra

Cambiar texto botón wocoomerce

Este paso es opcional, pero es importante que los usuarios vean el call to action adecuado, en caso de que no estés utilizando un carrito de compras flotante o un PopUp cuando se añada al carrito de compras.

Para cambiar este texto y cualquier otro de Woocommerce puedes hacer uso del siguiente código:

# CAMBIO DE TEXTO "VER CARRITO"
# Esta función sirve para cualquier texto de Woocommerce

function new_texts( $translated_text, $text, $domain ) {
	
switch ( $translated_text ) {
	case 'Ver carrito' :
		$translated_text = __( 'Finalizar compra', 'woocommerce' );
		break;		
	}
	return $translated_text;
	
}

add_filter( 'gettext', 'new_texts', 20, 3 );

Direct Checkout con Plugins

La otra solución es hacer uso de un Plugin, bueno dos pero el segundo es opcional para lograr una mejor experiencia de usuario.

Los plugins que vamos a utilizar son gratuitos y en la mayoría de casos es suficiente, pero si quieres la versión PRO con más funciones también te lo dejaré disponible, sin embargo recuerda que deberás obtener una membresía para poderlo descargar.

Carrito y checkout en la misma página
Así se verá la página del Checkout o Finalizar compra con este plugin (Aunque los estilos dependen de tu tema)

El primer plugin y el más importante es Direct checkout, Add to cart redirect and more (Tiene un nombre más largo pero lo acorté).

Direct Checkout
Free
Direct checkout, Add to cart redirect and more

El mejor plugin para unir la página de carrito y checkout en un sólo paso, a demás de otras funciones como el botón comprar ahora, Quick View y otras más.

Direct Checkout
VIP
Direct checkout, Add to cart redirect and more PRO

Versión PRO del mejor plugin para unir la página de carrito y checkout en un sólo paso, a demás de otras funciones como el botón comprar ahora, Quick View y otras más.

Descargalo

Para descargar debes

Para efectos de lo que queremos hacer el día de hoy en este tutorial, sólo es necesario configurar unos pocos ajustes del plugin como te muestro a continuación:

Ajustes básicos Direct checkout
En los ajustes básicos de Direct Checkout activa «Diable cart page»
Direct Checkout ajustes
En Checkout Settings activa las dos primeras opciones como se muestra en la imagen, el ajuste marcado en rojo es de la versión PRO que si la tienes es bueno que la marques.

Mejorando el Checkout

Como soy un poco obsesivo con la experiencia de usuario, no me gusta ese campo (input) de cambiar la cantidad del producto, para lograr una mejor experiencia te recomiendo el siguiente plugin:

quantity-plus-minus
Free
Quantity Plus Minus Button for WooCommerce

La mejor opción para añadir ( + / – ) en los inputs numéricos de woocommerce, cuenta con varias funciones y opciones de personalización.

Resultado final

Si seguiste todo el tutorial y te ayudas con un poco de CSS o Elementor podrás lograr un resultado como el que te voy a mostrar a continuación, el cual implementé para un cliente:

Resultado final direct checkout
Esto lo realicé con la versión PRO del plugin Direct Checkout, Quantity Plus Minus Button, Elementor, la versión PRO de Kadence Woocommerce Elementor y un poco de código.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Para guardar en favoritos o descargar recursos debes iniciar sesión o registrarte

Inicia sesión