Bonsoir !

J'ai une demande assez spécifique pour ce que je souhaite faire mais je ne sais pas par ou commencer ni quels plugins utilser.

En fait je m'occupe de la refonte d'un site et ce que souhaite le client c'est d'accéder à des téléchargements que seul les utilisateurs inscrits qui appartiennent à un groupe puissent voir.

En gros on peut télécharger uniquement si on est inscrit et on appartient à un groupe spécifique.

Avez-vous des pistes ?

Merci !

2 réponses


Guique
Réponse acceptée

Bonjour!

Dans un premier temps, tu peux utiliser la fonction is_user_logged_in().
Elle te permet de tester si un utilisateur est connecté.

Ensuite avec la fonction current_user_can(), tu peux tester le rôle de l'utilisateur.

Si ton utilisateur est connecté et appartient à un certain groupe, tu affiches les liens de téléchargement.

Shadows
Auteur

Hello ! Merci d'avoir répondu :)

Dans en gros je dois faire une condition du style :

if (is_user_logged_in() && current_user_can('un_argument')) {
    echo 'Affichage du contenu';
}

_________________________________________________________

edit : donc j'ai testé uniquement déjà avec la condition de login mais avant d'essayer avec current_user_can() j'aimerais savoir si il était possible de créer un nouveau groupe et savoir si aussi plus tard le client pourra avoir la possibilité d'ajouter via le back office un utilisateur dans ce dit groupe ?

Encore merci pour ton aide !

__________________________________________________________

Edit 2 : j'ai penché plus longtemps sur la question et ce CMS est juste magique, donc effectivement ça gère bien ce que je souhaite faire.

Donc voici mon code pour ceux qui chercheraient une solution à ce même type de problème même si ce topic sera jamais référencé vu le titre bidon que j'ai mis.

Alors j'ai créer un nouveau modèle de template spécifique pour ma page qui contient du contenu réservé puis j'y ai mis ce code :

<div id="primary" class="site-content">
        <div id="content" role="main">
            <?php if (is_user_logged_in() && current_user_can('client')): ?>
                <?php while ( have_posts() ) : the_post(); ?>
                    <?php get_template_part( 'content', 'page' ); ?>
                <?php endwhile; // end of the loop. ?>
            <?php else: ?>
                <h2>Vous devez être identifié et être client pour accéder à cette section.</h2>
            <?php endif; ?>
        </div><!-- #content -->
    </div><!-- #primary -->

Donc j'ai suivit tes conseils en utilisant les méthodes is_user_logged_in qui vérifie si un utilisateur est effectivement bien connecté et current_user_can() qui vérifie pas uniquement si un utilisateur a la possibilité de faire telle ou telle action mais aussi de savoir si cet utilisateur appartient à tel ou tel groupe ce que j'avais pas directement compris via le codex.

J'ai créer mon groupe à la mano via functions.php mais on aurait très bien pu le créer directement via le backoffice à ceci prêt que je sais pas comment rajouter un id (nom en minuscule) pour un rôle car aucun champ n'est proposé a la création d'un rôle mis à part le nom et les droits à cocher.

Bref encore merci !