« Clé invalide » sur les rôles d’abonné dans wordpress

Publié par Jean-Michel le

Clause de non-responsabilité de non-responsabilité
Je m’excuse que ce problème soit si étroitement lié à un autre. J’aurais commenté le message d’origine, mais je n’ai pas assez de réputation et je n’ai pas assez d’expérience en programmation pour me faire une réputation en répondant aux questions.

La question
J’ai utilisé le code suivant pour forcer les utilisateurs à se connecter à mon site wordpress :

    // Force user to login on welcome
function forceLogin() {
global $post;

    if ( ( is_single() || is_front_page() || is_page() || is_archive() || is_post() ) 
           && !is_page('login') && !is_user_logged_in()){ 
        auth_redirect(); 
    }  
}

J’ai ensuite inclus cette fonction dans mon fichier header.php pour mon thème enfant. Jusqu’à présent, tout fonctionne très bien.

Lire également:  Wordpress : Impossible d'inclure des scripts jQuery personnalisés dans mon thème wp

Le problème que j’ai est que lorsqu’un utilisateur avec le rôle « abonné » est connecté et essaie d’accéder à ma page de messages, qui est également définie comme ma page d’accueil statique, il est redirigé vers la page « mot de passe perdu » avec un « invalide key » (c’est-à-dire : www.domain.com/lostpassword/?error=invalidkey).

Il convient de noter que j’utilise le plugin Theme My Login (http://wordpress.org/plugins/theme-my-login/) pour styliser ma page de connexion.

Lire également:  Wordpress : get_stylesheet_directory() renvoie le mauvais URI... localhost/en utilisant des vhosts

Merci beaucoup et soyez indulgent.

Original Post
Wordpress force l’utilisateur à se connecter avant d’afficher le contenu du site

Solution n°1 trouvée

Souhaitez-vous simplement rediriger tous les visiteurs déconnectés de votre site Web vers la page de connexion ? Ajoutez simplement ceci au fichier functions.php de votre thème et supprimez le code que vous avez ajouté à votre fichier header.php.

function redirect_to_login_page() {
    if ( ! is_user_logged_in() && ! is_admin() ) {
        wp_redirect( home_url() . '/login/' );
        exit();
    }
}
add_action( 'template_redirect', 'redirect_to_login_page' );

Remarques : Cela suppose que votre page de connexion est accessible viaexample.com/login/

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *