WordPress : Comment masquer un élément d’article afin que seuls les utilisateurs déconnectés le voient

Publié par Jean-Michel le

J’utilise vingt dix-sept thème. Le thème permet d’avoir différentes sections sur la page d’accueil en fonction des pages du site. Je me demandais comment je pouvais ajouter pour que seuls les utilisateurs déconnectés voient une certaine page dans l’une des sections ? Fondamentalement, j’ai une nouvelle page d’enregistrement d’utilisateur que je veux avoir comme l’une de mes sections mais je ne veux pas que les utilisateurs connectés voient cette section, seulement les utilisateurs déconnectés.

Ma page est jonathanmusiclessons.com

Lire également:  Wordpress : get_the_author_meta() ne récupère pas la méta utilisateur ?

Solution n°1 trouvée

Vous pouvez résoudre votre problème en utilisant la fonction wordpress intégrée is_user_logged_in 🙂

if (!is_user_logged_in()) {
  // content for non-authenticated users
}

Solution n°2 trouvée

Vous pouvez le faire en vérifiant si l’utilisateur est connecté comme indiqué dans la première réponse. Vous devez simplement le faire dans l’autre sens.

Par exemple, si vous avez un lien dans le menu qui doit être masqué si l’utilisateur est connecté, ajoutez simplement un css personnalisé ;

.logged_in .menu-class-here{display:none;}

C’est pour cacher un élément de menu. Maintenant, si vous souhaitez restreindre l’accès à une page si l’utilisateur est connecté, vous pouvez simplement faire une redirection. Voici un exemple;

if ( is_page('slug') && is_user_logged_in() ) { // where slug is the name or slug of the custom page that you want to restrict from logged in users
   wp_redirect( 'http://www.example.com/desired-page/', 301 ); 
   exit;
}

Si vous souhaitez autoriser l’accès à la page mais masquer une certaine section aux utilisateurs connectés, vous pouvez faire quelque chose comme ;

if ( is_page('slug') && ! is_user_logged_in() ) {
  //add the code here that you want to show to non-logged-in users
}

MISE À JOUR
Ajoutez ceci à functions.php. Vous devez créer une fonction pour rediriger et l’ajouter

function notallowed() {
  global $post;
if ( is_page('hire-the-freelancer') && is_user_logged_in() ) { // where slug is the name or slug of the custom page that you want to restrict from logged in users
   wp_redirect( 'http://www.example.com/desired-page/', 301 ); 
   exit;
}
}
add_action( 'template_redirect', 'notallowed' );
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 *