web-dev-qa-db-fra.com

WordPress affiche le lien d'inscription pour les utilisateurs non connectés

J'ai un site WordPress et je veux ajouter un lien d'inscription pour les visiteurs.

J'ai donc ajouté un élément de menu appelé "ENREGISTREMENT" avec le lien suivant:

http://mywebsite.com/wp-login.php?action=register

Le problème est que ce lien ouvre le formulaire d'inscription pour les utilisateurs et les visiteurs et je veux le montrer uniquement aux visiteurs.

1
Amine Messaoudi

j'ai corrigé le problème avec le plugin Rôles du menu de navigation

J'ai ajouté le lien d'inscription au menu et avec le plugin et je l'ai configuré pour que les utilisateurs déconnectés

De cette façon, il ne sera pas montré aux utilisateurs connectés

0
Amine Messaoudi

Ajoutez votre lien d'inscription ou de connexion à l'intérieur de la fonction is_user_logged_in(). Donc, si l'utilisateur actuel n'est pas connecté à votre site, cette fonction affiche la page de connexion pour cet utilisateur et si cet utilisateur n'est pas enregistré, il doit s'inscrire pour pouvoir se connecter à votre site.

Exemple de code:

<?php
if( !is_user_logged_in() ) {
  <a href="<?php echo wp_login_url(); ?>">Log in / Register</a>
}
2
Mahfuz

Vous pouvez utiliser le filtre wp_nav_menu_items pour ajouter de manière conditionnelle un élément de menu. Ajoutez ce code au functions.php de votre thème:

function wpse_custom_menu_item( $items, $args ) {
    if( !is_user_logged_in() && $args->theme_location == 'primary-menu' ) {
        $items .= '<li><a href="http://mywebsite.com/wp-login.php?action=register">Register</a></li>';
    }
    return $items;
}
add_filter( 'wp_nav_menu_items', 'wpse_custom_menu_item', 10, 2 );