Interface différente selon le rôle. (Créer un compte)

  • WordPress :4.7
  • Statut : non résolu
2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Messages
  • #1614409
    ltandou@gmail.com
    Participant
    Initié WordPress
    1 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL :
    • Thème utilisé :
    • Extensions en place :
    • Nom de l’hébergeur :
    • Adresse du site :

    Problème(s) rencontré(s) : Bonjour à toutes et tous, j’aimerais savoir s’il existe la possibilité de mettre deux interfaces différentes selon le rôle de l’utilisateur de mon site web. Par exemple sur Airbnb, il y a l’interface de ceux qui accueillent et ceux qui veulent être accueillis. Ou encore sur Uber, il y l’interface chauffeur et l’interface client. J’aimerais savoir si cela est possible sur WordPress.

    Cordialement.

    #1614507
    Qwindoo
    Modérateur
    Maître WordPress
    2861 contributions

    Hello,

    C’est très possible en effet. WordPress fait usage d’un système très modulaire de templates, rien de plus simple que de choisir quel(s) fichier(s) charger lorsque l’utilisateur est connecté et quel(s) fichier(s) charger lorsqu’il ne l’est pas.

    Si tes besoins de personnalisation sont plutôt simples, tu peux t’en sortir en quelques lignes de code :

     

    <?php if ( is_user_logged_in() ): ?>Ici le
    code chargé
    lorsque l'utilisateur
    est connecté
    <?php else: ?>Ici le
    code chargé
    lorsque le visiteur
    n'est pas connecté<?php endif ?>
    Dans n'importe quel fichier de template...

    En choisissant de charger par exemple une version du <b>header.php</b> (chargé avant le contenu des pages) et du <b>footer.php</b> (chargé après le contenu des pages) différente selon que l’utilisateur est connecté ou non, tu peux concrètement créer un layout complètement distinct.

    Pour aller plus loin, tu peux utiliser le code suivant qui te permet de récupérer, quand l’utilisateur est connecté, son rôle. Bien évidemment, tu peux ensuite utiliser ce rôle pour personnaliser encore davantage l’aspect et les fonctionnalités du site :

    <?php
    $user = wp_get_current_user();
    $roles = $user->roles;
    $role = $roles[0] ?? 'visitor';
    switch ( $role ): case 'author': include_once 'code-author.php'; break;
    case 'subscriber': include_once 'code-subscriber.php'; break;
    case 'visitor':
    case 'default': ?>Ici le code
    destiné aux
    visiteurs<?php break;
    endswitch;

2 sujets de 1 à 2 (sur un total de 2)
  • Vous devez être connecté pour répondre à ce sujet.