Avisos
Vaciar todo

[Woocommerce] Añadir enlace personalizado

8 Respuestas
3 Usuarios
0 Reactions
28 Visitas
 Ana
Respuestas: 4
New Member
Topic starter
 

¡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


 
Respondido : 09/11/2021 5:36 pm
Argenis
Respuestas: 11585
Illustrious Member 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 🖐️ 


 
Respondido : 09/11/2021 5:40 pm
 Ana
Respuestas: 4
New Member
Topic starter
 

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.


 
Respondido : 09/11/2021 6:55 pm
Karen Rios
Respuestas: 18666
Illustrious Member 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 


 
Respondido : 09/11/2021 7:08 pm
 Ana
Respuestas: 4
New Member
Topic starter
 

@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).

 


 
Respondido : 09/11/2021 7:42 pm
Argenis
Respuestas: 11585
Illustrious Member 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 🖐️ 


 
Respondido : 09/11/2021 9:08 pm
 Ana
Respuestas: 4
New Member
Topic starter
 

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 4 años por Ana
 
Respondido : 09/11/2021 9:23 pm
Argenis
Respuestas: 11585
Illustrious Member 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 🖐️ 


 
Respondido : 09/11/2021 10:14 pm