it-swarm.com.de

Wie kann ich eine Kategorie vor Mitwirkenden im Bildschirm zum Bearbeiten/Hinzufügen neuer Beiträge verbergen?

Ich habe eine Situation, in der ich eine bestimmte Kategorie und deren Kinder vor Benutzern verstecken muss, die als Mitwirkende angemeldet sind. Ich möchte nicht, dass sie diese Kategorie sehen und es sind Kinder in der Kategorien-Meta-Box auf dem Bildschirm "Neuen Beitrag hinzufügen".

Ich kann kein Plugin (das funktioniert) finden, um dies zu tun. Ich frage mich, ob jemand anderes davon weiß oder ob es eine Funktion gibt, mit der ich das tun kann.

5
davemac

Hi @davemac:

Nun, ich habe das geschrieben, bevor ich gesehen habe, dass Sie Ihre eigene Frage beantwortet haben, also kann ich es trotzdem posten:

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;
}

Dieser Code setzt voraus, dass Sie ein Plugin wie das Members-Plugin verwendet haben, um ein Capability mit dem Namen 'see_special_cats' zu erstellen, und dass Sie es jeder Rolle zugewiesen haben, auf die Sie Zugriff haben möchten, außer natürlich 'Contributors'.

Da Sie das Plugin gefunden haben, brauchen Sie es möglicherweise nicht, aber vielleicht hilft es jemand anderem.

7
MikeSchinkel

wenn Sie die Kategorie vor dem Mitwirkenden verstecken möchten, aber nur der Administrator diese Kategorie sehen kann, ändern Sie 'see_special_cats' in 'manage_options', den ich getestet habe, und ich hoffe, es hilft. Vielen Dank! :)

0
Nandish Sandhu