wp_redirect no funciona al redirigir a la versión www del sitio

3 ago 2011, 20:01:50
Vistas: 829
Votos: 0

La siguiente función funciona perfectamente cuando los visitantes logueados van a http://sitename.com, llevándolos a la página de inicio. Sin embargo, cuando los visitantes logueados van a http://www.sitename.com, son redirigidos incorrectamente a http://sitename.com/splashpage. ¿Alguien sabe qué está causando esto?

He intentado cambiar la configuración de mi sitio para usar http://www.sitename.com como las URLs de WordPress y Dirección del Sitio, pero eso simplemente invierte el problema, redirigiendo incorrectamente cuando un usuario logueado va a http://sitename.com.

// REDIRIGIR USUARIOS A LA PÁGINA DE PRESENTACIÓN SI NO ESTÁN LOGUEADOS
add_action ('template_redirect','mkm_restrict_access',1);
function mkm_restrict_access() {
    $url = site_url('/splashpage/');
    if (is_page('splashpage') || is_page('login')) {
        //no hacer nada
    } elseif (!is_user_logged_in()) {
        wp_redirect( $url ); 
        exit; 
    }
}

¡Gracias por tu ayuda!

1
Comentarios

¿Existe quizás una mejor acción para usar para llamar a esta redirección? ¿Algo que se dispare después de que la página redirija desde http://www.example.com a http://example.com ?

Michelle Michelle
4 ago 2011 19:39:17
Todas las respuestas a la pregunta 1
0

Lo resolví, aunque esta es la solución más tonta posible: usé el hook wp_footer en lugar de template_redirect. Si alguien tiene una mejor solución o un lugar más adecuado para enganchar el código, me encantaría saberlo - ¡gracias!

EDITADO: Eso no fue la solución que pensé. Resulta que estaba escribiendo mal la función, y sí necesitaba usar template_redirect. Consulta No puedo hacer que funcione el redireccionamiento

4 ago 2011 16:43:45