
Estoy diseñando una página de cursos virtuales cuyo sistema de pagos y contrataciones está basado en Woocommerce, y creo que es conveniente redirigir directamente al pago cuando se compra un curso, puesto que entiendo que en la mayor parte de los casos se compra un curso y se hace, por lo que también una vez comprado redirigimos al propio curso.
Pues hay 2 maneras que explico a continuación:
1.- Modificando el archivo functions.php
Se trata del functions del tema que tengas instalado, que seguramente podrás encontrar en la siguiente dirección «tudominio/wp-content/themes/tu-tema/functions.php», sólo tienes que editarlo, eso sí, siempre es recomendable guardar una copia de seguridad antes de editar cualquier archivo, no te cuesta nada…, y añade esta función:
//Redirigir al pago al añadir al carrito add_filter ('add_to_cart_redirect', 'redirect_to_checkout'); function redirect_to_checkout() { global $woocommerce; $checkout_url = $woocommerce->cart->get_checkout_url(); return $checkout_url; }
2.- Instalando un plugin que lo haga por ti
Si no creaste un tema hijo en su momento, quizás esta sea la manera más recomendada para ti, os recomiendo la versión gratuita del plugin Woocommerce Direct Checkout o su versión pro, que podéis encontrar aquí. Ésta versión no es necesaria puesto que los añadidos que facilita, si los necesitas se pueden realizar muy fácilmente con una simple función o con otro plugin gratuito.
Me faltaba explicar, antes de que los más puritanos se echen las manos a la cabeza, el por qué de recomendar un plugin y es debido a que si no se ha realizado un tema hijo, al actualizar el theme se sobreescribiría el functions.php y se perdería esta función.
He añadido el codigo al final del archivo y no ha valido para nada. Sigue mostrando el carrito.
Funciona perfectamente el codigo. 🙂 Perdon por el comentario anterior fue un error mio en la subida por ftp. Muchas gracias por compartir este truco tan util.