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.
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:
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 |
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:
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:
I neste artikkel skal vi ytterligere begrense WordPress Administration-funksjonaliteten til utvalgte brukere, slik at de bare får tilgang til CRM for kontakter.