Skip to main content

Supongamos que estamos usando una página con slug “cuenta” para gestionar el acceso (por ejemplo usando el plugin desarrollado para gestionar el acceso). Si queremos que un usuario forzosamente vaya al a dicha página si no está logueado podemos usar:

add_action( 'template_redirect', 'redirect_if_user_not_logged_in' );

function redirect_if_user_not_logged_in() {
    if ( is_page('slug || ID') && ! is_user_logged_in() ) { //example can be is_page(23) where 23 is page ID
        wp_redirect( 'http://your-redirect-page-here ');
        exit;// never forget this exit since its very important for the wp_redirect() to have the exit / die
    }
}

El hook template_redirect se carga siempre que wordpress está tratando de descifrar qué template va a usar. Si hay duda en esto buscar en documentación (https://developer.wordpress.org/reference/hooks/template_redirect/)