Redirecionar para início de sessão após compra no WooCommerce WordPress

  • Autor Autor Carambel
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Carambel

Carambel

Ómicron
Social Media
Verificado
Verificación en dos pasos activada
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 edição:
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Interesante, estoy en la creación de mi ecommerce con woocomerce, me puede servir.
 
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.
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.
 
Voltar
Topo