Erstellen Sie ein einfaches CRM in WordPress Menüelemente einschränken / ausblenden

Wir haben untersucht, wie Sie ein einfaches CRM-System in WordPress erstellen können. Im letzten Teil dieser Serie haben wir unserem Plugin Code hinzugefügt, mit dem wir unsere Kontakte anhand der in den erweiterten benutzerdefinierten Feldern gespeicherten Daten durchsuchen können.

Heute erfahren Sie, wie Sie den Zugriff auf Elemente des WordPress-Verwaltungsmenüs beschränken können.

Rollen und Fähigkeiten

WordPress verwendet das Konzept der Rollen, wobei einem WordPress-Benutzer eine Rolle zugewiesen werden kann. Diese Rolle definiert, was der Benutzer tun kann und was nicht.

WordPress verfügt standardmäßig über sechs Rollen:

  • höchster Vorgesetzter
  • Administrator
  • Editor
  • Autor
  • Mitwirkender
  • Teilnehmer

Die Berechtigungen, die eine Rolle hat, werden als Fähigkeiten bezeichnet, und WordPress bietet viele verschiedene Funktionen (zum Beispiel, install_plugins, update_themes, edit_pages, usw). Wenn Sie daran interessiert sind, die vollständige Liste der Funktionen nach Rollen anzuzeigen, finden Sie diese WordPress-Codex-Seite.

Als wir unseren benutzerdefinierten Kontakttyp für Kontakte in Teil 1 dieser Serie registriert haben, haben wir die definiert Capability_type sein Post. Dies bedeutet, dass die Lese-, Bearbeitungs- und Löschfunktionen für Kontakte mit denen für Posts identisch sind. Abhängig von der Rolle des Benutzers erhält der Benutzer folgenden Zugriff auf den benutzerdefinierten Kontakttyp "Kontakte":

Fähigkeit höchster Vorgesetzter Administrator Editor Autor Mitwirkender Teilnehmer
edit_others_posts Ja Ja Ja      
delete_others_posts Ja Ja Ja      
delete_private_posts Ja Ja Ja      
edit_private_posts Ja Ja Ja      
read_private_posts Ja Ja Ja      
edit_published_posts Ja Ja Ja Ja    
Veröffentlichungsposts Ja Ja Ja Ja    
delete_published_posts Ja Ja Ja Ja    
edit_posts Ja Ja Ja Ja Ja  
delete_posts Ja Ja Ja Ja Ja  

Herausgeber und Autoren

Wenn wir möchten, dass die Benutzer alle Kontakte (einschließlich der von anderen Benutzern erstellten Kontakte) hinzufügen, bearbeiten und löschen können, müssen wir die Editor-Rolle verwenden. Lassen Sie uns einen neuen WordPress-Benutzer mit dieser Rolle erstellen:

  1. Navigiere zu Benutzer> Neu hinzufügen im WordPress-Verwaltungsmenü.
  2. Füllen Sie die Felder Benutzername, E-Mail und Passwort aus.
  3. Stellen Sie das ein Rolle des Benutzers an Editor.
  4. Klicken Neuen Benutzer hinzufügen.

Nun melden wir uns von WordPress ab und loggen uns als unseren neuen Editor ein. Sie sehen, dass das WordPress-Verwaltungsmenü weniger Optionen hat und unseren benutzerdefinierten Kontakttyp für Kontakte enthält:

Möglicherweise möchten Sie jedoch nur, dass Benutzer die Kontakte anderer Benutzer anzeigen können, ohne sie bearbeiten oder löschen zu können. Wir können dies mithilfe der Author-Rolle erreichen, da diese Rolle nicht vorhanden ist edit_others_posts oder delete_others_posts Fähigkeiten (siehe obige Tabelle).

Erstellen Sie Ihren WordPress-Benutzer auf dieselbe Weise wie bei einem Editor. Wählen Sie dieses Mal stattdessen die Rolle des Autors.

Bei der Anmeldung als Autor werden wieder weniger Optionen für das WordPress-Verwaltungsmenü angezeigt:

Wenn wir unsere Kontakte anzeigen, werden alle anderen Kontakte angezeigt, die von anderen WordPress-Benutzern erstellt wurden. Wir können sie jedoch nicht bearbeiten oder löschen:

Fügen Sie einen neuen Kontakt hinzu. Wenn Sie fertig sind, klicken Sie auf Alle Kontakte im WordPress-Verwaltungsmenü. Anstatt alle Kontakte anzuzeigen, die von anderen WordPress-Benutzern erstellt wurden, werden jetzt von Ihnen erstellte Kontakte angezeigt, die Sie bearbeiten und löschen können:

Wir können weiterhin die Kontakte anderer Benutzer anzeigen, indem Sie auf klicken Alles Option über der WordPress-Tabelle:

Als nächstes…

Im nächsten Artikel werden wir die WordPress-Administrationsfunktionen auf ausgewählte Benutzer weiter einschränken, sodass sie nur auf das Kontakt-CRM zugreifen können.