La Solution
Elle s'applique à WordPress en version 2.8 et 2.9.
Commençons par les utilisateurs. Ils sont créés par l’administrateur du site.
Dans WordPress Options -> Réglages -> Général
Inscription : l’option «Tout le monde peut s’enregistrer» est décochée
Par défaut tout nouvel utilisateur a pour rôle «Abonné» (l’abonné a des droits minimum avec aucun droit d’édition).
L’administrateur crée ses utilisateurs.
Le Widget Meta est utilisé (Options -> Apparence -> Widgets) afin que le visiteur ait accès au bouton Connexion et Déconnexion sur le site… Dommage que seul le nom de ce widget soit modifiable (éditez le Titre en renseignant Accès Client par exemple)… On ne peut pas par exemple enlever l’option Admin. du Site… Par défaut quand l’utilisateur se connecte il est dirigé sur son profil, or on préférera rediriger l’utilisateur directement sur le site/blog après la connexion. Pour cela on ajoute un bout de code dans le fichier functions.php qui se trouve dans le répertoire wp-content/themes
Au début du fichier functions.php juste après
has_cap( 'edit_posts' ) === false ) {
return get_bloginfo( 'siteurl' );
}
return $redirect_to;
}
add_filter( 'login_redirect', 'loginRedirect', 10, 3 );
Remarque : Si on regénère ultérieurement son thème (avec Artisteer) ou on utilise un nouveau thème, il faut veiller à bien ajouter manuellement ce bout de code.
Il existe un plugin, wpNamedUsers, qui va permettre de gérer les utilisateurs par groupe. Il faut installer ce plugin dans le répertoire wp-content/plugins et l’activer. Puis dans Options -> Réglages -> WPNamedUsers groups on crée un ou des groupes d’utilisateurs et pour chaque groupe on leur attribue des utilisateurs.
On crée par exemple le groupe Clients et on lui attribue les utilisateurs voulus (ceux créés au préalable).
Il ne nous reste plus qu’à créer nos pages ou posts qui ne pourront être accessibles que pour certains utilisateurs (par exemple pour ceux appartenant au Groupe Clients), en veillant à laisser l’option Visibilité à Publique, et à paramétrer l’option WPNamedUsers groups en cochant le groupe Clients.
Conclusion
Et pour conclure… L’installation du plugin role_manager s’avère utile pour gérer plus finement les droits associés à chaque rôle (type de compte).
Je vous proposerais prochainement la solution à mettre en oeuvre à partir de la version 3 de WordPress.
RépondreSupprimer