Redirecionar para login após compra no WooCommerce WordPress

  • Autor Autor Carambel
  • Data de início Data de início
Este tópico foi traduzido automaticamente do espanhol. Ver original
Carambel

Carambel

Ómicron
Social Media
Verificado
Verificación en dos pasos activada
Olá, encontrei este código, ele funciona bem, basicamente o que ele faz é:

Em uma determinada URL de um site WordPress, neste caso é a URL de FINALIZAR COMPRA DO WOOCOMMERCE, o código redireciona para uma URL de LOGIN, isso é ótimo, mas como é possível fazer com que, uma vez iniciada a sessão, ele retorne à URL anterior da qual saiu?


Este código eu colei no functions.php do 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;
    }
}

Eu tentei com métodos mais básicos como o https://miweb.pe/login/?redirect_to=https://miweb.pe/finalizar-compra, mas não funcionou.
 
Ú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
Interessante, estou na criação do meu e-commerce com WooCommerce, pode me servir.
 
Olá, encontrei este código, ele funciona bem, basicamente o que ele faz é:

Em uma determinada URL de um site WordPress, neste caso é a URL de FINALIZAR COMPRA DO WOOCOMMERCE, o código redireciona para uma URL de LOGIN, isso é ótimo, mas como é possível fazer com que, uma vez iniciada a sessão, ele retorne à URL anterior da qual saiu?



Este código eu colei no functions.php do 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;
    }
}

Eu tentei com métodos mais básicos como o https://miweb.pe/login/?redirect_to=https://miweb.pe/finalizar-compra, mas não funcionou.
Você pode fazer algo como isto, mas não sei se funciona ou se o seu formulário é personalizado, o formulário do WP usa um
input oculto para definir para qual URL redirecionar após o login.

1 - Com seu código você redireciona para https://miweb.pe/login/?redirect_to=https://miweb.pe/finalizar-compra
2 - No seu formulário adicione este input se existir o parâmetro redirect_to com uma 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 outro exemplo.
 
Voltar
Topo