Redireccionar a inicio de sesion tras compra en WooCommerce WordPress

  • Autor Autor Carambel
  • Fecha de inicio Fecha de inicio

Carambel

Ómicron
Social Media
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Hola, he encontrado este código, me funciona bien básicamente lo que hace es:

En determinada url de un sitio web de wordpress en este caso es la url de FINALIZAR COMPRA DE WOOCOMMERCE, el código redirecciona a una url de INCIO DE SESION, eso es genial, pero ¿como se puede hacer que una vez iniciado sesión retorne a la anterior url de la cual salió?


Este código lo he pegado en functions.php de wordpress:
PHP:
add_action( 'template_redirect', 'redirect_to_specific_page' );

function redirect_to_specific_page() {

if ( is_page('finalizar-compra') && ! is_user_logged_in() ) {

wp_redirect( 'https:/miweb.pe/login', 301 );
  exit;
    }
}

He intentado con métodos mas básicos como el https://miweb.pe/login/?redirect_to=https://miweb.pe/finalizar-compra, pero no funciono.
 
Última edición:
Interesante, estoy en la creación de mi ecommerce con woocomerce, me puede servir.
 
Puedes hacer algo como esto, pero nose si funcione o si tu formulario es personalizado, el formulario de WP usa un
input oculto para establecer a cual url redireccionar luego del login.

1 - Con tu codigo redirecionas a https://miweb.pe/login/?redirect_to=https://miweb.pe/finalizar-compra
2 - En tu formulario agrega este input si existe el parametro redirect_to con una url.

PHP:
<?php

if(!empty($_GET['redirect_to'])){
    $redirect_url = home_url('/finalizar-compra/');
} else {
    $redirect_url = home_url('/wp-admin/');
}

?>

<input type="hidden" name="redirect_to" value="<?php echo $redirect_url; ?>"/>
 
Aqui otro ejemplo.