web-dev-qa-db-fra.com

Comment puis-je masquer une catégorie des contributeurs dans l'écran Modifier/Ajouter un nouveau message?

J'ai une situation dans laquelle je dois cacher une catégorie spécifique et ses enfants aux utilisateurs connectés en tant que contributeurs. Je ne veux pas qu'ils voient cette catégorie et ce sont les enfants dans la méta-boîte de catégories sur l'écran Ajouter un nouveau message.

Je n'arrive pas à trouver un plugin (qui fonctionne) pour le faire, en me demandant si quelqu'un d'autre en sait un, ou même s'il y a une fonction que je peux utiliser pour le faire?

5
davemac

Bonjour @davemac:

Eh bien, j’ai écrit ceci avant de voir que vous avez répondu à votre propre question, alors je pourrais tout aussi bien le poster:

add_filter('list_terms_exclusions', 'yoursite_list_terms_exclusions', 10, 2);
function yoursite_list_terms_exclusions( $exclusions, $args ) {
  global $pagenow;
  if (in_array($pagenow,array('post.php','post-new.php')) && 
     !current_user_can('see_special_cats')) {
    $exclusions = " {$exclusions} AND t.slug NOT IN ('slug-one','slug-two')";
  }
  return $exclusions;
}

Ce code suppose que vous avez utilisé un plug-in tel que plug-in Membres pour créer une fonctionnalité appelée 'see_special_cats' et que vous l'avez affecté à chaque rôle auquel vous souhaitez accéder. catégories sauf bien sûr 'Contributors'.

Depuis que vous avez trouvé le plugin, vous n’avez peut-être pas besoin de ça, mais cela aidera peut-être quelqu'un d’autre.

7
MikeSchinkel

si vous voulez masquer la catégorie du contributeur mais que seul l'administrateur peut voir cette catégorie, remplacez 'see_special_cats' par 'manage_options' que j'ai testé et cela fonctionne, j'espère que cela aidera. Merci! :)

0
Nandish Sandhu