Avisos
Vaciar todo

[Woocommerce] Añadir enlace personalizado  

 
Ana
 Ana
Nuevo usuario

¡Hola!

Estoy montando una tienda en la que en los clientes que compren los productos de una determinada categoría deben rellenar una serie de datos adicionales, después del pago. Estos datos se toman en un formulario que he creado en una página estática: www.midominio.com/formulario

En este formulario hay que indicar el LOCALIZADOR de la compra, por lo que para que la experiencia de usuario no sea muy engorrosa, me gustaría hacer una de las siguientes opciones:

  • OPCIÓN 1: En la página de thank-you por defecto, añadir un enlace a la página del formulario (www.midominio.com/formulario), pero sólo si se ha comprado un producto de una categoría determinada.

 

  • OPCIÓN 2: Crear una thank-you page personalizada que incluya los datos de la compra (order-details) + formulario. Es decir:

 

      ¡GRACIAS POR TU COMPRA!
Localizador: 1234
Producto comprado: Producto A
Nombre del cliente: Pepe
Total: 300 EUR

FORMULARIO ADICIONAL
Campo 1: ________
Campo 2: ________
Campo 3: ________
ETC

 

 ¿Se os ocurre alguna manera de hacerla sin plugins?

¡Gracias!

 

Contenido solo visible a usuarios registrados

Citar
Respondido : 09/11/2021 5:36 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Ana,

Con respecto a la pagina de gracias casualmente hay un complemento que puedes utilizar para que cada producto se ingrese a una pagina en especifico luego de la compra, te comparto el complemento:

https://wordpress.org/plugins/wc-thanks-redirect/

Tal como lo indican las imágenes de la descripción del mismo, en la pestana de general en tu producto tendrás una opción para agregar la url de thank you, ya teniendo esto en cuenta puedes generar tu propia pagina de gracias que carga posterior a realizar el checkout de la compra.

Un saludo 🖐️ 

ResponderCitar
Respondido : 09/11/2021 5:40 pm

Ana
 Ana
Nuevo usuario

Hola Argenis,

Muchas gracias por tu respuesta.

¿Sabrías alguna opción sin plugin?

Para redireccionar a una thank-you page diferente por categoría estoy haciendo esto:

add_action( 'woocommerce_thankyou', function ($order_id) {
    $order = wc_get_order( $order_id );
    $in_order = false;
    $url = 'https://www.aupiraguismo.es/21/piraguarderia/inscripcion/formulario/';
    $cats = array('campus');

	foreach ($order->get_items() as $product) {
		if (has_term($cats, 'product_cat', $product->get_product_id())) {
			$in_order = true;
		} break;
	}
	if ( ! $order->has_status( 'failed' )) {
		if ($in_order) {
			wp_safe_redirect($url );
		exit;
		}
	}
});

Pero no sé de que manera añadir la información de order-details a la página de formulario.

ResponderCitar
Respondido : 09/11/2021 6:55 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Ana, 

En este caso si deseas redireccionar la orden a una página especifica puedes usar el siguiente código que debes añadir en el function.php de tu tema (preferiblemente un tema hijo)

add_action( 'woocommerce_thankyou', 'webwoo_redirecthankyou');

function webwoo_redirecthankyou( $order_id ){
$order = wc_get_order( $order_id );
$url = 'https://tudomini.com/gracias/';  // modifica la URL de destino 
if ( ! $order->has_status( 'failed' ) ) {
wp_safe_redirect( $url );
exit;
}
}

Ten en cuenta que debes configurar la URL donde deseas el usuario sea redireccionado cuando la compra se realice, adicional esta es una redirecciona general para todo el formulario 

Sobre el código que nos envías puedes indicarnos de donde lo estás tomando?, de un artículo especifico?

Un Saludo 

ResponderCitar
Respondido : 09/11/2021 7:08 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Ana
 Ana
Nuevo usuario

@karen gracias por tu respuesta.

Pero esa función lo que hace es redireccionar a una página específica y eso ya lo estoy haciendo con la que añadí arriba.

Lo que me queda por solucionar es poder añadir en mi página de gracias la información sobre la compra (localizador, fecha, total, etc).

 

ResponderCitar
Respondido : 09/11/2021 7:42 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Ana,

En este caso no logro comprender del todo la consulta, si ya tu función crea la redirección, a la pagina de gracias por que no puedes agregar esta información que nos comentas directamente en la que tengas creada como pagina de gracias?

Un saludo 🖐️ 

ResponderCitar
Respondido : 09/11/2021 9:08 pm

Cursos Gratuitos WordPress

Ana
 Ana
Nuevo usuario

Hola @argenis 

Porque la redirección solamente hace que en lugar de mostrar la página de thank-you muestre www.midominio.com/formulario, pero lo que necesito es que se añadan los datos de la compra al principio de esa página (www.midominio.com/formulario):

  • LOCALIZADOR
  • FECHA DE LA COMPRA
  • METODO DE PAGO
  • ETC

Espero haberme explicado 😊

Esta publicación ha sido modificada el hace 3 años por Ana
ResponderCitar
Respondido : 09/11/2021 9:23 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Ana,

En este caso no hay un shortcode que permita de forma predeterminada mostrar esto que necesitas, sin embargo puedes intentar con esto:

https://stackoverflow.com/questions/60036190/create-woocommerce-shortcodes-with-order-details

Directamente tienen un shortcode que puedes crear e intentar, pero primero debes agregar un código a tu functions.php:

Cpanel > administrador de archivos > Public_html > Dominio > Wp-content > Themes > tema > archivo functions.php

Guiandote un poco el codigo deberia ser algo asi:

add_shortcode( 'custom-woocommerce-name' , 'custom_first_name' );
function custom_first_name(){
$customer_id = get_current_user_id();
$order = wc_get_customer_last_order( $customer_id );
return $order->get_billing_first_name();
}

Y el shortcode el que de contenido a mostrar > custom-woocommerce-name, igualmente en el complemento que te compartí previamente se muestra una forma de mostrar el contenido en las imágenes deberías darle un vistazo a detalle ya que podrías sustituir y trabajar mas cómodamente con este complemento.

En caso de no funcionar lo que necesitas tendrías que consultarlo directamente con nuestros colaboradores ya que es un código realizado a medida para tu sitio.

https://www.webempresa.com/directorio-colaboradores.html

Un saludo 🖐️ 

ResponderCitar
Respondido : 09/11/2021 10:14 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress