Opprett en enkel CRM i WordPress begrense / skjule menyelementer

Vi har sett på hvordan du lager et enkelt CRM-system i WordPress. I den siste delen av denne serien la vi til kode i vårt plugin som tillot oss å søke i våre kontakter basert på dataene som er lagret i Avanserte egendefinerte felt.

I dag skal vi dekke hvordan du begrenser tilgangen til WordPress Administrasjon Menyelementer.

Roller og evner

WordPress bruker begrepet Roller, hvor en rolle kan tilordnes en WordPress-bruker. Denne rollen definerer hva brukeren kan og ikke kan gjøre.

Som standard har WordPress seks roller:

  • Super Admin
  • Administrator
  • Redaktør
  • Forfatter
  • Senior
  • abonnent

Tillatelsene som en rolle har, refereres til som evner, og WordPress har mange forskjellige muligheter (for eksempel, install_plugins, update_themes, edit_pages, etc). Hvis du er interessert i å se hele listen over funksjoner basert på rolle, se denne WordPress Codex-siden.

Når vi registrerte vår Kontakter tilpasset posttype i del 1 i denne serien, definerte vi capability_type å være post. Dette betyr at lese, redigere og slette evner for kontakter er de samme som brukes til innlegg. Avhengig av brukerens rolle gir dette brukeren følgende tilgang til våre Kontakter tilpasset posttype:

Evne Super Admin Administrator Redaktør Forfatter Senior abonnent
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    
publish_posts 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  

Redaktører og forfattere

Basert på ovennevnte evner, må vi bruke Editor-rollen hvis vi ønsker at brukere skal kunne legge til, redigere og slette alle kontakter (inkludert kontakter opprettet av andre brukere). La oss gå videre og opprette en ny WordPress-bruker med den rollen:

  1. Navigere til Brukere> Legg til nytt i WordPress administrasjonsmenyen.
  2. Fullfør brukernavn, e-post og passordfelt.
  3. Sett rolle av brukeren til Redaktør.
  4. Klikk Legg til ny bruker.

La oss nå logge ut av WordPress og logge inn som vår nye editor. Du ser at WordPress Administrasjonsmenyen har færre alternativer, og inkluderer våre Kontakter Tilpasset posttype:

Du kan imidlertid bare at brukere skal kunne se andre brukers kontakter uten å ha muligheten til å redigere eller slette dem. Vi kan oppnå dette ved å bruke forfatterrollen, som denne rollen ikke har edit_others_posts eller delete_others_posts Muligheter (se tabellen ovenfor).

Opprett din WordPress-bruker på samme måte som vi gjorde for en redaktør, denne gangen velger du forfatterrollen i stedet.

Logg inn som forfatter vil igjen vise færre WordPress Administrasjonsmenyalternativer:

Når vi ser på våre kontakter, ser du alle andre kontakter som er opprettet av andre WordPress-brukere, men vi kan ikke redigere eller slette dem:

Gå videre og legg til en ny kontakt. Når du er ferdig, klikk på Alle kontakter i WordPress administrasjonsmenyen. I stedet for å se alle kontakter som er opprettet av andre WordPress-brukere, ser du nå Kontakter du har opprettet, som du kan redigere og slette:

Vi kan fortsatt se andre brukers kontakter ved å klikke på Alle alternativ over WordPress-tabellen:

Neste…

I neste artikkel skal vi ytterligere begrense WordPress Administration-funksjonaliteten til utvalgte brukere, slik at de bare får tilgang til CRM for kontakter.