Deaktivieren Sie den Zugriff aller Admin-Benutzeroberflächen auf Autoren (mit Ausnahme von benutzerdefinierten Beitragstypen, fügen Sie sie hinzu, bearbeiten Sie sie und ändern Sie sie).

Ich habe gerade einen benutzerdefinierten Beitragstyp namens Katalog erstellt. Hier können Autoren so viele Einträge erstellen, wie sie benötigen. Aber ich muss den Zugriff auf alle Admin-Teile beschränken oder verweigern: Posts, Profile, Media oder andere Admin-Teile mit Ausnahme ihrer Katalogeinträge.

Muss ich mit $ _SERVER [‘REQUEST_URI’] vergleichen oder gibt es einen besseren Weg?

Danke im Voraus.

Solutions Collecting From Web of "Deaktivieren Sie den Zugriff aller Admin-Benutzeroberflächen auf Autoren (mit Ausnahme von benutzerdefinierten Beitragstypen, fügen Sie sie hinzu, bearbeiten Sie sie und ändern Sie sie)."

Das ist schwieriger als es scheint.

Um es ohne Verwendung eines Plugins zu codieren, würde ich vorschlagen, das global $menu und das global $submenu als ein Array zu verwenden und sie auf der Basis der Benutzerrolle oder des Benutzernamens zu lösen. Es kann schwieriger werden, wenn Sie Benutzerrollenberechtigungen außerhalb der Standardwerte definieren möchten. http://codex.wordpress.org/Roles_and_Capabilities

Sie können die Werte in wp-admin / menu.php finden, Sie müssen hier nachsehen. Oder durchsuchen Sie sie hier http://core.trac.wordpress.org/browser/branches/3.1/wp-admin/menu.php

Zum Beispiel, wenn Sie ein Menü in einer function aufheben möchten, wäre das in etwa wie folgt:

 function remove_menu() { global $menu; //remove post top level menu for editor role if current_user_can('editor'){ unset($menu[5]); } } add_action('admin_head', 'remove_menu'); // ($menu[5]) is the "Posts" menu 

Sie können ein viel ausführlicheres Beispiel hier sehen http://hungred.com/how-to/remove-wordpress-admin-menu-affecting-wordpress-core-system/