Autoriser l’ajout d’une catégorie pour les contributeurs
Découvrez la démarche à suivre pour autoriser les contributeurs de votre site WordPress à ajouter des catégories lors de la rédaction de leurs articles.
Après avoir découvert l’astuce pour autoriser les contributeurs à ajouter des médias dans un article, nous allons détailler une astuce permettant aux contributeurs d’avoir la possibilité d’ajouter une ou plusieurs catégories.
NB : L’astuce que je vous propose permet uniquement aux contributeurs d’ajouter une catégorie à partir de l’ajout ou l’édition d’un article. Pour une question de sécurité, les contributeurs ne sont pas autorisés à éditer et supprimer une catégorie.
Copier le code ci-dessous dans le fichier functions.php
présent à la racine de votre thème :
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
add_action('admin_init', 'gkp_add_categories_to_contributor');
function gkp_add_categories_to_contributor() {
$role = get_role('contributor');
$role->add_cap('manage_categories');
// On récupère le rôle du membre connecté
global $current_user;
$user_role = array_shift($current_user->roles);
// On supprime le menu "Catégorie"
if( $user_role == 'contributor' )
remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=category' );
// On redirige les contributeurs qui tentent d'éditer ou supprimer une catégorie
global $pagenow;
if( $pagenow == 'edit-tags.php'
&& $_GET['taxonomy'] == 'category'
&& $user_role == 'contributor') {
wp_redirect(admin_url('edit.php'));
die();
}
}
[/pastacode]
PS : Merci à ryuk pour l’idée de l’article ;)
2 Commentaires
Bonjour ,
voila j ‘ai un site de sport gatesport , et j’aimerais autoriser les contributeurs a écrire des articles mais comment ? qu’elle plug in ?
merci
Ya toujours de la bonne astuce chez GeekPress.
ps : esc_attr() ne sert à rien dans le code.
esc_attr() signifie “escape attribute” et sert à l’affichage à l’écran. Ici on n’affiche rien et ce n’est pas un attribut HTML.
Il n’est jamais dangeureux de comparer un $_GET sans escape ;)