Redirigir a página de destino en Wordpress si no está logueado
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?

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

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

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

<?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á.
