J'utilise le code suivant dans mon fichier functions.php pour rediriger les utilisateurs qui ne sont pas connectés à une page de destination particulière
<?php
if(!is_user_logged_in()) {
wp_redirect( 'http://www.mysite.com/landingpage', 301 ); exit;
}
Le problème est que je ne peux plus accéder à mon compte wp-login ou à mon compte wp-admin. Chaque URL redirige vers landingpage. Existe-t-il un moyen d'exclure certaines URL de la redirection?
quelque chose comme:
if (
!in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'))
&& !is_admin()
&& !is_user_logged_in()
) {
wp_redirect('http://www.mysite.com/landingpage', 301);
exit;
}
devrait le faire.
voir http://codex.wordpress.org/Function_Reference/is_admin & Vérifiez si wp-login est la page actuelle
<?php
if($_SERVER['REQUEST_URI'] != '.../' || $_SERVER['REQUEST_URI'] != '.../'){
if(!is_user_logged_in()) {
wp_redirect( 'http://www.mysite.com/landingpage', 301 ); exit;
}
}
Cela teste essentiellement si vous êtes sur une page spécifique avant d'exécuter la redirection, si la première instruction renvoie true et si l'utilisateur n'est pas connecté, il sera redirigé.