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;