Redirigir a página de destino en Wordpress si no está logueado

27 jun 2012, 03:40:14
Vistas: 16.7K
Votos: 3

Estoy usando el siguiente código en mi archivo functions.php para redirigir a los usuarios que no han iniciado sesión a una página de destino específica:

    <?php
if(!is_user_logged_in()) {
    wp_redirect( 'http://www.misitio.com/paginadestino', 301 ); exit;
}

El problema es que ya no puedo acceder a mi wp-login o wp-admin. Todas las URLs redirigen a la página de destino. ¿Hay alguna manera de excluir ciertas URLs de la redirección?

php
0
Todas las respuestas a la pregunta 2
6

algo como:

if (
  !in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'))
  && !is_admin()
  && !is_user_logged_in()
) {
  wp_redirect('http://www.misitio.com/pagina-de-destino', 301);
  exit;
}

debería funcionar.

ver http://codex.wordpress.org/Function_Reference/is_admin & Verificar si wp-login es la página actual

27 jun 2012 03:45:57
Comentarios

Gracias por la respuesta. Parece que esto funcionará, pero estoy recibiendo un error de sintaxis en la línea 5. ¿Alguna idea?

User User
27 jun 2012 03:57:09

sí, lo siento. faltaban los corchetes.

User User
27 jun 2012 03:57:37

¿qué corchetes?

User User
27 jun 2012 04:07:05

Ya edité la respuesta. Los que estaban detrás de is_user_logged_in inicialmente faltaban... ¿era eso?

User User
27 jun 2012 04:09:59

No, todavía obtengo el error en la línea 5

User User
27 jun 2012 04:11:57

la línea 2 también le faltaba un corchete al final.... (editado)

User User
27 jun 2012 04:14:54
Mostrar los 1 comentarios restantes
1
<?php
if($_SERVER['REQUEST_URI'] != '.../' || $_SERVER['REQUEST_URI'] != '.../'){

   if(!is_user_logged_in()) {
       wp_redirect( 'http://www.misitio.com/paginadestino', 301 ); exit;
   }
}
?>

Este código básicamente verifica si estás en una página específica, antes de ejecutar la redirección. Si la primera condición devuelve verdadero y el usuario no ha iniciado sesión, se redirigirá.

27 jun 2012 03:45:37
Comentarios

si usé esta condición entonces obtuve el mensaje "Warning: Cannot modify header information".

Husain Ahmed Husain Ahmed
17 sept 2016 16:56:24