Benutzerrollen
-
Hallo zusammen!
Ich verzweifle gerade mit den Benutzerrollen 🙁
Ich möchte einen Benutzer erstellen, der seine eigenen Seiten administrieren und Medien hochladen darf. Da „Autor“ keine fremden Inhalte sieht, wollte ich die Seiten per Quickedit dem User zuordnen – er fehlt aber in der Liste.
Plugins zu dem Thema habe ich nur kostenpflichtige gefunden außer „Members“, da hat die Content Einschränkung aber auch nicht funktioniert.Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]
-
Hi, bei dem Quickedit Dropdown werden nur User angezeigt die eine spezielle Berechtigung haben, ich glaube es ist edit_posts.
Hier ist ein Code-Snippet um den Berechtigungscheck zu entfernen, dann kann man über Quickedit jeden beliebigen User setzen:
/**
* Modify the arguments for the Quick Edit authors dropdown to include all users regardless of roles or capabilities.
*
* @param array $args The arguments passed to the dropdown_users function.
* @return array Modified arguments to include all users.
*/
function quick_edit_include_all_users($args) {
// Remove capability restrictions to include all users.
if (isset($args['capability'])) {
unset($args['capability']);
}
// Ensure all users are included.
$args['number'] = -1;
return $args;
}
add_filter('quick_edit_dropdown_authors_args', 'quick_edit_include_all_users');Benutzerrollen:
—————————————————–
Die Rolle Autor (engl. author)kann
eigene Beiträge
erstellen
bearbeiten
veröffentlichen
löschen
zu Kategorien zuweisen
Stichwörter hinzufügenMediendateien
hochladenkann
nicht
Beiträge anderer bearbeiten
Kategorien erstellen
Seiten (weder eigene noch von anderen) bearbeiten/veröffentlichen/löschen/erstellen
administrative Funktionen ausführen
—————————————————-Die Rolle Mitarbeiter/Mitwirkender (engl. contributor)
kann
eigene Beiträge
erstellen
als Entwurf speichern
Entwurf löschenund hat ansonsten keine Befugnisse.
—————————————————————–Zurück zum Autor und den Standard-Funktionen von WordPress
- Die Rolle Autor wird immer in der Auflistung „alle Beiträge“ unter Quicklinks aufgelistet. Voraussetzung dafür ist allerdings, dass mindestens ein User mit der Rolle Autor existiert.
- Die Rolle Autor wird nie in der Auflistung „alle Seiten“ unter Quicklinks aufgelistet, denn ein Autor kann keine Seiten bearbeiten/erstellen usw.
Der Code von @benniledl erzwingt zwar die Auflistung der Rolle Autor in den Quicklinks unter „alle Seiten“, vergibt aber keine Zugriffsrechte auf Seiten, das heißt: Seiten werden der Rolle Autor nicht im Backend angezeigt, im Frontend kann die Rolle Autor auf der (per Quicklink) zugewiesenen Seite nicht auf „Bearbeiten“ zugreifen, ein für Admins/Redakteure funktionierender Direktlink zum Bearbeiten funktioniert in der Rolle Autor auch nicht.
So, nun zu einer (von mehreren) Lösung des Problems.
Installiere das Plugin User Role Editor, nach dessen Aktivierung findest du in der linken Seitenleiste unter Benutzer den neuen Menülink „User Role Editor“, klick darauf.
In dem nun geöffneten Fenster „User Role Editor“ klicke rechts (Navigationsmenü ganz rechts) auf „Add Role“. Im Pop-up-Fenster trage ein/wähle aus unter
Role name (ID): newauthor
Display Role Name: Neuer Autor
Make copy of: Autor (author)
klicke nun rechts auf den Menüpunkt „Add Role“Hinweis: Selbstverständlich kannst du die Rolle (
Display Role Name) sowie dessen ID (Role name (ID)) ganz nach Belieben benennen und auch die Berechtigungen (s. nachfolgend) vergeben, wie du es magst.Falls noch nicht automatisch passiert, wähle oben im Drop-down-Menü aus: Neuer Autor (newauthor) und klicke dann rechts auf den Menüpunkt „Add Capability“, trage nun im Pop-up-Fenster in das Feld „Capability name (ID):“ ein ->
newauthorund klick rechts auf den Menüpunkt „Add Capability“.Jetzt wähle die zusätzlichen Berechtigungen mithilfe der Checkboxes aus:
- create_posts
- delete_pages
- delete_published_pages
- edit_pages
- edit_published_pages
- publish_pages
klick nun rechts auf den Menüpunkt „Update“ und bestätige im Pop-up-Fenster mit „Yes“.
Geh nun in der linken Seitenleiste auf „Alle Benutzer“, wähle den künftigen Autor aus und gib ihm die Rolle „Neuer Autor“ und das Speichern nicht vergessen.
Nun kannst du unter den Quicklinks die Rolle „Neuer Autor“ für Beiträge UND Seiten auswählen.
Übrigens: Die selbst angelegten Rollen sowie evtl. geänderte Berechtigungen in den Standardrollen kannst du in der linken Seitenleiste unter
Einstellungen -> User Role Editor -> Tab "Tools" -> dort "Permanently delete all custom user roles and capabilities" in das Eingabefeld einfügen -> auf den Button "Reset" klickenbei Bedarf wieder alle löschen.
Hier noch ein Screenshot (mit Klick darauf vergrößern) wie ich die Berechtigungen für die Rolle „Neuer Autor“ gesetzt habe:
Vielen Dank erstmal – hat gut geklappt!
Wenn ein User mit der neuen Rolle eine Seite bearbeitet erscheint beim Speichern die Fehlermeldung:
„Custom HTML is disabled for your user role. Please contact your site Administrator to change your capabilities.“
Das Recht finde ich aber in der Liste nicht.Es funktioniert einwandfrei – mit einer Standard-WordPress-Installation. Ich hatte den Punkt
create_postsnicht explizit aufgelistet und es gerade in meinem Beitrag oben entsprechend nachgetragen.Die Listenpunkte müssen zusätzlich zu den von der Rolle Autor kopierten Berechtigungen hinzugefügt werden.
Erlaube/aktiviere auf keinen Fall die Befugnis
unfiltered_html, es sei denn, du weißt, was du tust und möchtest der Rolle diese Berechtigung geben. Die Berechtigungunfiltered_htmlist eine Sicherheitsfunktion in WordPress, die Benutzer daran hindert, in WordPress-Posts zum Beispiel Iframes und Codeausschnitte oder erweiterten Code zu verwenden.Wenn es immer noch nicht funktioniert, kann es nur an installierten Plugins, Cache, .htaccess-Datei oder dem Theme liegen.
Das Thema „Benutzerrollen“ ist für neue Antworten geschlossen.
