Springe zum Hauptinhalt

So erstellen Sie benutzerdefinierte Benutzerrollen in WordPress

Divi: das am einfachsten zu verwendende WordPress-Theme

Divi: Das beste WordPress-Theme aller Zeiten!

Mehr 901.000 Downloads, Divi ist das beliebteste WordPress-Theme der Welt. Es ist vollständig, einfach zu bedienen und enthält mehr als 62-freie Vorlagen. [Empfohlen]

Eine der Hauptfunktionen von WordPress, die oft übersehen wird, ist, dass eine Reihe verschiedener Benutzerrollen verfügbar sind. Diese Benutzerrollen können dazu beitragen, dass nur Personen Zugang zu den Bereichen haben, die sie benötigen, und auch dazu beitragen, das Risiko von Unfällen zu minimieren, die die Site möglicherweise zum Einsturz bringen könnten. In diesem Artikel werden wir uns diese Benutzerrollen kurz ansehen und auch erläutern, wie Sie Ihre eigenen benutzerdefinierten Rollen erstellen.

Benutzerrollen sind seit Version 2.0 ein wichtiger Bestandteil der WordPress-Erfahrung. Die meisten Leute wissen nicht einmal, dass sie existieren und geben jedem, der Zugriff auf das Dashboard ihrer Site hat, Administratorrechte (aus einer ganzen Reihe von Gründen natürlich keine gute Sache). Auf Lager wird WordPress mit sechs Standardbenutzerrollen geliefert:

  • Administrator: jemand, der Zugriff auf alle administrativen Features und Funktionen einer Site hat.
  • Herausgeber: jemand, der Nachrichten für alle Benutzer veröffentlichen und verwalten kann, einschließlich ihrer eigenen.
  • Autor: jemand, der seine eigenen Nachrichten veröffentlichen und verwalten kann.
  • Spender: Jemand, der seine eigenen Nachrichten schreiben und verwalten kann, sie aber nicht veröffentlichen kann.
  • Teilnehmer: jemand, der nur sein Profil verwalten kann.

Warum benutzerdefinierte Benutzerrollen verwenden?

Meistens werden nur die Standardbenutzerrollen benötigt. Manchmal benötigen Sie jedoch eine Benutzerrolle, die nicht den Standardrolleneinstellungen entspricht. Und in diesem Artikel zeige ich Ihnen, wie Sie Ihre eigenen benutzerdefinierten Benutzerrollen erstellen, ohne ein Plugin zu verwenden.

Sehen wir uns an, warum Sie benutzerdefinierte Benutzerrollen verwenden möchten. Normalerweise verwende ich benutzerdefinierte Benutzerrollen, um sicherzustellen, dass meine Kunden nur Zugriff auf das haben, was sie benötigen. Ich bin sicher, es gibt Leute, die argumentieren, dass dies die Website des Kunden ist und sie als Eigentümer Administratorzugriff haben sollten. Und das ist großartig, wenn Sie keinen Wartungsvertrag mit dem Kunden haben und nur die Site an den Kunden übergeben und zum nächsten Projekt übergehen.

Wenn Sie jedoch dafür verantwortlich sind, dass die Site rund um die Uhr betriebsbereit bleibt, empfehle ich, den Clientzugriff durch eine benutzerdefinierte Benutzerrolle einzuschränken. Auf diese Weise kann ich dem Kunden alles geben, was er braucht, um seine Website effektiv zu machen, wie zum Beispiel das Hinzufügen von Inhalten, vielleicht das Hinzufügen von Ereignissen, was immer er benötigt. Was sie nicht tun können, sind Dinge, die die Site zum Absturz bringen oder einige Funktionen durcheinander bringen können. Ich beschränke Dinge wie den Zugriff, um Plugins, Themes hinzuzufügen oder zu entfernen, den Kernel zu aktualisieren, alle möglichen Dinge, die ich als Teil meiner laufenden Wartung tun möchte.

Aber fangen wir mit einem kurzen Rückblick auf die Grundlagen an, okay?

Erstellen Sie ganz einfach Ihre Website mit Elementor

Mit Elementor können Sie auf einfache Weise jedes Website-Design mit einem professionellen Look erstellen. Zahlen Sie nicht mehr teuer für das, was Sie selbst tun können. [Kostenlos]

Grundlegende WordPress-Funktionen

Um Rollen und Fähigkeiten effektiv zu verwalten, gibt es fünf sehr einfache Funktionen:

  • add_role (): Ermöglicht das Hinzufügen einer benutzerdefinierten Rolle.
  • remove_role (): Ermöglicht das Löschen einer benutzerdefinierten Rolle.
  • add_cap (): Ermöglicht das Hinzufügen einer benutzerdefinierten Fähigkeit zu einer Rolle.
  • remove_cap (): Ermöglicht das Entfernen einer benutzerdefinierten Fähigkeit aus einer Rolle.
  • get_role (): Ruft Informationen zu einer Rolle und den mit der Rolle verbundenen Funktionen ab.

Wir werden für diesen Artikel nur die Funktion add_role() verwenden, da wir für unseren fiktiven Client eine benutzerdefinierte Benutzerrolle erstellen werden.

Benutzerrolle definieren

Bevor wir also in den Code eintauchen, müssen wir einen Plan haben, denn ohne Plan in Code einzutauchen ist nie eine gute Idee.

Daher müssen wir der Benutzerrolle einen Namen geben. Wir machen es einfach und nennen die Benutzerrolle „Kunde“.

Suchst du nach den besten WordPress Themes und Plugins?

Laden Sie die besten Plugins und WordPress-Themes auf Envato herunter und erstellen Sie ganz einfach Ihre Website. Schon mehr als 49.720.000 Downloads. [EXCLUSIVE]

Was also kann die Benutzerrolle „Kunde“ eigentlich tun? In einer neuen WordPress-Installation stehen über 50 verschiedene Funktionen zur Verfügung (die Anzahl steigt, sobald Sie mit dem Hinzufügen von Plugins beginnen, aber dazu kommen wir in einem anderen Beitrag). Für unsere Zwecke möchten wir, dass der Kunde Folgendes tun kann:

  • Artikel erstellen
  • Nachrichten bearbeiten
  • Andere Nachrichten bearbeiten
  • Kategorien verwalten
  • Seiten bearbeiten

Ebenso wichtig ist, was wir nicht wollen, dass sie in der Lage sind:

  • Themen bearbeiten
  • Plugins hinzufügen oder entfernen
  • Aktualisieren Sie den Kernel

Code schreiben

Wir werden diesen Code in das setzen fonctions.php Datei für unser aktives Thema. Beginnen wir also damit, dies der Datei hinzuzufügen:

// Eine benutzerdefinierte Benutzerrolle hinzufügen $ result = add_role ('client', __ ('Client'), array());

Durch das Hinzufügen dieses Codes haben Sie technisch gesehen eine neue Benutzerrolle erstellt (Sie können dies im Dropdown-Menü auf der Seite überprüfen Neuen Benutzer hinzufügen Seite und es sollte dort sein). Das Problem ist, dass dieser Benutzerrolle keine Funktionalität zugewiesen ist. Der nächste Schritt besteht also darin, die Funktionalität hinzuzufügen, die wir zuvor in unseren obigen Anforderungen identifiziert haben. Fügen Sie einfach die hinzu array Code für das, was Sie bereits in Ihr eingegeben haben fonctions.php Datei.

// Eine benutzerdefinierte Benutzerrolle hinzufügen $ result = add_role ('client', __ ('Client'), array ('read' => true, // true ermöglicht diese Fähigkeit 'edit_posts' => true, // Ermöglicht dem Benutzer eigene Beiträge bearbeiten 'edit_pages' => true, // Ermöglicht dem Benutzer das Bearbeiten von Seiten 'edit_others_posts' => true, // Ermöglicht dem Benutzer, andere Beiträge zu bearbeiten, nicht nur seine eigenen 'create_posts' => true, // Ermöglicht dem Benutzer das Erstellen von neue Beiträge 'manage_categories' => true, // Ermöglicht dem Benutzer die Verwaltung von Beitragskategorien 'publish_posts' => true, // Ermöglicht dem Benutzer das Veröffentlichen, ansonsten bleiben die Beiträge im Entwurfsmodus));

Dadurch erhalten wir die Funktionalität, die der Client haben soll, aber wir müssen ihn trotzdem daran hindern, Dinge zu tun, die die Site möglicherweise lahmlegen könnten. Also fügen wir das jetzt hinzu.

// Eine benutzerdefinierte Benutzerrolle hinzufügen $ result = add_role ('client', __ ('Client'), array ('read' => true, // true ermöglicht diese Fähigkeit 'edit_posts' => true, // Ermöglicht dem Benutzer eigene Beiträge bearbeiten 'edit_pages' => true, // Ermöglicht dem Benutzer das Bearbeiten von Seiten 'edit_others_posts' => true, // Ermöglicht dem Benutzer, andere Beiträge zu bearbeiten, nicht nur seine eigenen 'create_posts' => true, // Ermöglicht dem Benutzer das Erstellen von neue Beiträge 'manage_categories' => true, // Ermöglicht dem Benutzer die Verwaltung von Beitragskategorien 'publish_posts' => true, // Ermöglicht dem Benutzer das Veröffentlichen, ansonsten bleiben die Beiträge im Entwurfsmodus 'edit_themes' => false, // false verweigert dies Benutzer kann Ihr Theme nicht bearbeiten 'install_plugins' => false, // Benutzer kann keine neuen Plugins hinzufügen 'update_plugin' => false, // Benutzer kann keine Plugins aktualisieren 'update_core' => false // Benutzer kann nicht ausführen Kernaktualisierungen));

So stellen Sie fest, ob die Benutzerrolle richtig konfiguriert ist

Um sicherzustellen, dass Ihre neue Benutzerrolle wie erwartet funktioniert, müssen Sie einen neuen Benutzer mit der richtigen Rolle konfigurieren, sich abmelden und als neuer Benutzer wieder anmelden.

Je nachdem, welche Fähigkeiten Sie zugelassen und verweigert haben, sollten Sie als Erstes feststellen, dass sich die verfügbaren Funktionen im Dashboard geändert haben. Das Bild unten zeigt Ihnen, was Sie sehen würden, wenn Sie die Client-Rolle wie oben konfiguriert hätten.

Erstellen Sie einfach Ihren Online-Shop

Laden Sie kostenlos WooCommerce herunter, die besten E-Commerce-Plugins, um Ihre physischen und digitalen Produkte auf WordPress zu verkaufen. [Empfohlen]

Wie Sie sehen, sind die Optionen, die diesem Benutzer zur Verfügung stehen, aufgrund dessen, was erlaubt und was explizit verweigert wurde, drastisch eingeschränkt. Sie haben jetzt als Entwickler / Site-Manager etwas Ruhe und hoffen, dass Sie nicht den Anruf bekommen, der sagt "Ich weiß nicht, was passiert ist, aber meine Site war plötzlich nicht mehr da."

Quelle Link

Dieser Artikel enthält Kommentare 0

Hinterlassen Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Diese Website verwendet Akismet, um unerwünschte Inhalte zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verwendet werden.

Zurück nach oben
0 Aktien
Aktie
tweet
Registrieren