WordPress användarroller och funktioner ger dig möjlighet att kontrollera vad användare kan eller inte kan göra på din webbplats. Du kan använda dem för att hantera användaråtgärder som att skriva och redigera inlägg, skapa nya sidor, moderera kommentarer, installera plugins, lägga till nya användare och mycket mer.

Att förstå användarroller och behörigheter är viktigt för att hantera alla typer av WordPress-webbplatser. Om du exempelvis bygger en webbplats för en klient vill du inte att de ska kunna redigera eller ändra det installerade temat. På samma sätt är det oklokt att låta författare av en multi-författarblogg installera eller ta bort plugins.

Att lära sig att hantera WordPress-användarroller på ett smart sätt hjälper dig att effektivisera ditt arbetsflöde, skydda din webbplats och få ultimat kontroll över din webbplats.

I den här omfattande guiden får du lära dig om WordPress-användarroller, de olika funktionerna som WordPress tillhandahåller och hur man redigerar befintliga användarroller. Du får även lära dig hur du hanterar användare på multiwebbplatser samt skapar nya roller med en ny uppsättning funktioner.

Vi kör igång!

Vilka är WordPress användarroller och funktioner?

Roller och funktioner är grunden för hantering  av användaråtkomst i WordPress. För att förstå vilka användarroller som finns i WordPress måste du först veta vilka funktioner som finns.

WordPress definierar alla åtgärder som en användare kan vidta som en funktion. Här är några exempel på funktioner som finns i WordPress och hur de refereras i sin kod:

De flesta funktioner är självförklarande i namnen. WordPress har över 70 hårdkodade funktioner inbyggda i sin kärna.

En roll är en samling funktioner som du kan tilldela en användare. Varje WordPress-användare måste ha en roll tilldelad. En användare kan bara vidta åtgärder som deras roll ger dem.

En
En ”roll” är en samling ”Funktioner”

I bilden ovan kan alla användare med roll 1 läsa inlägg, men de kan inte redigera inlägg. Användare med roll 2 kan både läsa och redigera inlägg, men de kan inte publicera inlägg. Alla användare med roll 3 kan läsa, redigera och publicera inlägg, men de kan inte ta bort inlägg, till skillnad från roll 4-användare som kan ta bort inlägg.

Panelen
Panelen ”Lägg till ny användare” i WordPress instrumentpanel

WordPress använder många av sina inbyggda funktioner för att definiera sina standardanvändarroller. Administratörer och redigerare får till exempel publish_pages-funktionen, som prenumeranter och medarbetare inte får ta del av.

Panelen
Panelen ”Användare” i WordPress instrumentpanel

Som ett minimum har varje WordPress-användare ett användarnamn, lösenord, en e-postadress och en roll.

 phpMyAdmin visar var WP-databasen lagrar funktionerna
phpMyAdmin visar var WP-databasen lagrar funktionerna

WordPress lagrar alla sina rollbaserade funktioner i sin databas i  wp_options-tabellen under serialiserade  wp_user_roles-alternativet. WP_Roles  kärnklass används för att definiera hur du lagrar roller och funktioner i databasen.

WP_Roles-klassen

WordPress implementerar roller och funktioner med API:et för användarroller, varav de flesta baseras på WP_Roles kärnklass. Du kan hitta dess källa i wp-includes/class-wp-roles.php-filen.

Om du tittar in i databasen, kommer du att se att roller finns i en matris med deras rollnamn definierade. rolename-nyckeln lagrar användarrollnamnet som ett värde för rolename name. name-nyckeln och alla funktioner lagras i en separat matris som ett värde för capabilitynyckeln.

array (
     'rolename' => array (
         'name' => 'rolename',
         'capabilities' => array()
     )
)

Klassen WP Roles definierar många metoder. Du kan anropa dem var som helst i koden för att interagera med API:et för användarroller.

Obs: WordPress innehåller en annan kärnklass som kallas  WP Role  (notera singular ”Roll”). Det används för att utöka API:et för användarroller.

När du avserialiserar nyckelvärdet för wp_user_rolesser det ut ungefär så här:

array (
  'administrator' => 
  array (
    'name' => 'Administrator',
    'capabilities' => 
    array (
      'switch_themes' => true,
      'edit_themes' => true,
      'activate_plugins' => true,
      // [...rest of the lines cut off for brevity...]
    ),
  ),
  'editor' => 
  array (
    'name' => 'Editor',
    'capabilities' => 
    array (
      'moderate_comments' => true,
      'manage_categories' => true,
      'manage_links' => true,
      // [...rest of the lines cut off for brevity...]
    ),
  ),
  'author' => 
  array (
    'name' => 'Author',
    'capabilities' => 
    array (
      'upload_files' => true,
      'edit_posts' => true,
      'edit_published_posts' => true,
      // [...rest of the lines cut off for brevity...]
    ),
  ),
  'contributor' => 
  array (
    'name' => 'Contributor',
    'capabilities' => 
    array (
      'edit_posts' => true,
      'read' => true,
      // [...rest of the lines cut off for brevity...]
    ),
  ),
  'subscriber' => 
  array (
    'name' => 'Subscriber',
    'capabilities' => 
    array (
      'read' => true,
      'level_0' => true,
    ),
  ),
)

Det är en flerdimensionell matris där varje roll är tilldelad ett rollnamn och är beviljad en uppsättning funktioner. På samma sätt lagrar WordPress de användarbaserade funktionerna i tabellen wp_usermeta med wp_capabilities metanyckelnamn.

Obs: wp_prefixet kan vara annorlunda i konfigurationen. Det beror på värdet av $table_prefixets globala variabel i webbplatsens wp-config.php-fil.

Diagram över roller kontra funktioner

Diagrammet
Diagrammet ”Roller vs kapaciteter” i WordPress Codex

WordPress Codex innehåller en enkel Kapacitet vs rolltabell, men den är inte så intuitiv. Den sammanfattar alla åtgärder som standard-användarroller kan göra i både inställningar för enstaka webbplatser och Multisidor i WordPress. Det finns ett uppehåll efter ett antal funktioner så att det ska vara enkelt för dig att skilja mellan kapacitet på hög och låg nivå.

För en bättre presentation av alla WordPress-roller och funktioner i korthet, kan du se denna utmärkta tabell av Exygy.

Funktioner relaterade till Gutenberg´s återanvändbara block

WordPress Gutenberg block-redigerare har infört en fantastisk funktion som kallas  Återanvändbara Block. Detta gör att du kan spara ett helt block (eller flera block) som en mall och använda den någon annanstans på din webbplats.

Lägga till
Lägga till ”Återanvändbara block” i WordPress nya Gutenberg block-redigerare

Därför introducerade WordPress även följande nya funktioner som är relaterade till återanvändbara block:

  • Skapa återanvändbara block
  • Redigerbara återanvändbara block
  • Läs återanvändbara block
  • Ta bort återanvändbara block

Funktionerna ovan fungerar på samma sätt som inläggsrelaterade funktioner. En administratör eller en redigerare har åtkomst till alla återanvändbara blockrelaterade funktioner, medan en författare bara kan redigera eller ta bort återanvändningsbara block som skapats av dem. Medarbetare kan endast läsa återanvändbara block.

Särskild kapacitet: Ofiltrerad uppladdning

Ofiltrerad uppladdning är en speciell funktion som inte har tilldelats någon standard-användarroll, inte ens administratör eller superadministratör. Denna funktion tillåter en användare att ladda upp filer med nån form av förlängning (t.ex. SVG eller PSD), inte bara de som vitlistats av WordPress.

Obs: Du kan få en lista över mime-typer och filnamnstillägg som stöds av WordPress med hjälp av wp_get_mime_types()funktion.

För att aktivera den här funktionen måste du lägga till kodavsnittet nedan till filen wp-config.php.  Definiera konstanten före raden som ber dig att sluta redigera.

define( 'ALLOW_UNFILTERED_UPLOADS', true );

När du har definierat den här konstanten kan du ge en WordPress-installation av en enda plats med ofiltrerad uppladdning till vilken användarroll som helst. Men på en multisides-installation kan endast en Super Admin ha den här funktionen.

Om du exempelvis vill ge unfiltered_upload-funktionen till en redigerare, kan du lägga till följande kod var som helst i din WordPress-kod (Kör det helst bara på tema / plugin-aktivering):

<?php

  $role = get_role( 'editor' );
  $role->add_cap( 'unfiltered_upload' );

?>

Vi kommer att diskutera mer om hur du lägger till eller anpassar funktioner för alla användarroller eller specifika användare senare i det här inlägget.

Primitiva funktioner vs metafunktioner

Det finns främst två typer av funktioner i WordPress:

  • Primitiva funktioner: Dessa funktioner beviljas till vissa roller. Användare med dessa roller ärver automatiskt de primitiva funktionerna.
  • Metafunktioner: Dessa funktioner beviljas inte till någon standard-roll. WordPress söker efter ett visst objekt i sin kod och databas. Exempelvis inlägg, sidor, användare eller någon taxonomi, och om logiken funkar, ”kartlägger” det en meta-kapacitet till en eller flera primitiva funktioner.

WordPress-författare ges exempelvis förmågan att edit_posts  för sina egna inlägg. Den här funktionen tillåter dem dock inte att redigera andra användares inlägg. Men här kommer metafunktioner in i bilden.

WordPress använder funktionen map_meta_cap()  för att returnera en rad primitiva funktioner som är bundna till ett visst objekt. Det jämför dem sedan med användarobjektet för att kontrollera om användaren kan redigera inlägget.

Några andra exempel på metafunktioner är read_post,  delete_post,  remove_user och  read_post. Vi tar en djupare titt på dem i avsnittet med anpassade funktioner nedan.

De sex standard-användarrollerna i WordPress

WordPress innehåller sex fördefinierade användarroller. Den första användaren av en WordPress-installation får administratörsrollen som standard (eller super Admin-rollen med WordPress multisides-installationer).

Eftersom WordPress började som en bloggnings-plattform innan de utvecklades till en fullfjädrad CMS, är de flesta användarrollerna anpassade för att publicera innehåll på webben. Dess andra fördefinierade användarroller är Redigerare,  Författare,  Medarbetare och  Prenumerant.

Default WordPress user roles shown as a stack of cylinders arranged in order of their capabilitiesFöreställ dig WordPress standard-användarroller som en samling staplade cylindrar som representerar olika funktioner. Den största cylindern har mest kapacitet, den näst största har näst mest kapacitet, och den minsta cylindern har minst kapacitet.

Du bör inte betrakta en roll som överlägsen en annan. Tänk snarare på rollerna som en användares ansvar inom webbplatsen

En användarroll är aldrig överlägsen, inte heller är den sämre, den definierar exakt vad den är avsedd att göra.

Nu ska vi titta på alla fördefinierade WordPress-användarroller i detalj.

Administratör

Rollinstrumentpanelen
Rollinstrumentpanelen ”Administratör” i WordPress

WordPress tilldelar den första användaren av en singel-webbplatsinstallation administratörrollen. Den styr över alla andra användarroller och har tillgång till alla funktioner som definieras av WordPress. Användare med administratörsrollen kan utföra åtgärder som:

  • Skapa och ta bort användare
  • Installera och hantera plugins och teman
  • Redigera plugins, teman, filer och kod
Endast administratörer kan lägga till nya användare i WordPress
Endast administratörer kan lägga till nya användare i WordPress

Eftersom en administratör har den mest kraftfulla rollen bör du bara tilldela den till dem du litar på. Helst bör det bara finnas en administratör per webbplats.

Administratörsrollen i ett Multisides-nätverk i WordPress definieras lite annorlunda, även om det kallas för samma saka. I ett Multisides-nätverk har administratörsrollen inte vissa funktioner som den har på en wp-plats, som att  installera teman och plugins. WordPress reserverar dessa funktioner för Super Admin-rollen.

Redaktör

Rollinstrumentpanelen
Rollinstrumentpanelen ”Redaktör” i WordPress

En redaktör tar hand om hantering av innehåll i en WordPress-webbplats. De kan skapa, ändra, publicera eller ta bort inlägg och sidor, även de som skapas av andra användare. Några av deras funktioner är:

  • Ta bort publicerade inlägg och sidor
  • Moderera kommentarer
  • Hantera länkar och kategorier
  • Redigera andra användares inlägg och webbsidor

Redaktören kan inte vidta åtgärder webbplatsadministration såsom att installera plugins och teman. Deras främsta ansvar är att övervaka andra författares och bidragsgivares arbete eller vara en enpersons-innehållsgrupp..

Tips: Om du hanterar en WordPress-webbplats på egen hand kan du skapa en alternativ användare för dig själv med rollen som redaktör. På så sätt kan du hålla dina admin- och publiceringsuppgifter åtskilda. Ditt administratörskonto är säkert från hackers även om ditt redaktörs-konto äventyras.

Författare

Rollinstrumentpanelen
Rollinstrumentpanelen ”Författare” i WordPress

Som namnet antyder kan alla användare med en författareroll skapa, redigera och publicera inlägg. De kan även ladda upp mediefiler och ta bort sina egna inlägg, men de kan inte skapa sidor eller redigera någon annans inlägg.

Författare kan lägga till taggar i sina inlägg och tilldela sina inlägg till befintliga kategorier, men de kan inte skapa nya kategorier. Precis som med redaktörer har de inte tillgång till några administrativa uppgifter som inställningar, plugins och teman.

En författare kan ta bort sina inlägg även efter att de har publicerats. Om du tilldelar någon rollen som författare ska du se till att du känner dig nöjd med att de har fullständig kontroll över sina inlägg, inklusive att ta bort dem.

Medarbetare

Rollinstrumentpanelen
Rollinstrumentpanelen ”Medarbetare” i WordPress

Rollen Medarbetare är en lite-version av rollen Författare. En användare med en medarbetar-roll kan skapa egna inlägg, ta bort utkast av sina inlägg, men de kan inte publicera inläggen.

De kan spara utkast av sina inlägg eller skicka dem till en redaktör eller en administratör för granskning och publicering. Och när de har publicerat inlägget kan en medarbetare inte ta bort sina inlägg. Däremot kan författare ta bort sina publicerade inlägg.

Rollen Medarbetare är idealisk för nya författare och gäst-medarbetare.

Prenumerant

Rollinstrumentpanelen
Rollinstrumentpanelen ”Prenumerant” i WordPress

Rollen Prenumerant är längst ner i kapacitetsrankingen. En användare med en prenumerantroll kan hantera sin profil och har tillgång till att läsa alla inlägg på webbplatsen. Inte mycker mer än så!

 Du kan begränsa innehållet till endast inloggade användare, inklusive prenumeranter
Du kan begränsa innehållet till endast inloggade användare, inklusive prenumeranter

Vanligtvis har alla tillgång till läsinnehåll på en WordPress-webbplats. Men på prenumerations- eller  medlemskapswebbplatser kan endast inloggade användare visa innehållet. En användare med rollen Prenumerant kan läsa inläggen i dessa fall.

Super Admin

Rollinstrumentpanelen
Rollinstrumentpanelen ”Super Admin” i Multisides-nätverk i WordPress

Super Admin-rollen finns endast tillgänglig i WordPress Multisides-installationer. Den här rollen ersätter administratörer på en plats i multisides-nätverket och ger åtkomst till alla administratörsfunktioner på hög nivå.

Vissa multisides-funktioner som är tillgängliga för superadministratörer är:

  • Skapa, hantera och ta bort nätverkswebbplatser
  • Hantera nätverksanvändare, plugins, teman och alternativ
  • Uppgradera alla platser i Multisides-nätverket
  • Konfigurera ett flerwebbplats-nätverk
  • Tilldela nätverkets enskilda webbplatser administratörer
 Panelen
Panelen ”webbplatser” i ett Multisides-nätverk i WordPress
Panelen Teman i superadministratörs-instrumentpanelen
Panelen Teman i superadministratörs-instrumentpanelen

I ett multisides-nätverk kan endast Super Admin installera teman och aktivera dem i nätverket. Administratörer av enskilda nätverkswebbplatser kan bara visa och aktivera teman som redan är installerade av Super Admin.

Jag har exempelvis installerat ett kostnadsfritt Astra tema på mitt nätverk, men jag har inte aktiverat det för nätverket. Administratörer av enskilda underwebbplatser i ett nätverk kan alltså inte se det listat under panelen Teman.

Administratörer av nätverks-underwebbplatser kan inte installera nya teman
Administratörer av nätverks-underwebbplatser kan inte installera nya teman

I skärmbilden ovan kan du även se att plugins-menyn inte är tillgänglig för webbplatsadministratörer i ett nätverk. Till skillnad från teman kan en Super Admin ändra nätverksinställningarna så att administratörer kan installera och aktivera plugins på sina webbplatser.

Super Admin kan ge administratörer möjlighet att hantera plugins
Super Admin kan ge administratörer möjlighet att hantera plugins
Super Admin kan även
Super Admin kan även ”nätverks-aktivera” plugins

En Super Admin kan även Nätverks Aktivera plugins för att säkerställa att de hamnar på alla platser i nätverket. Webbplatsadministratörer kan inte inaktivera nätverksaktiverade plugins. Den här inställningen är idealisk för att sprida viktiga plugins i hela nätverket.

Skärmen Nätverksadministratör

Instrumentpanelen för nätverksadministratör fungerar som ett centralt nav för Super Admin för att hantera nätverksfunktionerna i WordPress multisidor. Den är endast tillgänglig för användare med rollen Super Admin när du har skapat ett nätverk.

Instrumentpanelen Nätverksadministratör innehåller unika alternativ för att hantera nätverket
Instrumentpanelen Nätverksadministratör innehåller unika alternativ för att hantera nätverket
1. Instrumentpanel

Instrumentpanelen för nätverksadministratörer är det centrala navet för detaljerad information om dina nätverkswebbplatser. Det ger dig tillgång till alla dina nätverksinställningar.

2. Webbplatser
Panelen webbplatser i instrumentpanelen nätverksadministratör
Panelen webbplatser i instrumentpanelen nätverksadministratör

Du kan använda webbplatspanelen för att hantera de olika webbplatserna som ingår i nätverket. De webbplatser som anges här kommer antingen att vara en underkatalog eller en underdomän beroende på hur du har konfigurerat din Multisides-nätverk i WordPress.

Härifrån kan du antingen lägga till nya webbplatser i nätverket eller ta bort befintliga platser från nätverket.

Du kan även komma åt information om webbplatser, användare, teman och övergripande nätverksinställningar härifrån. Den första webbplatsen du skapar är den primära webbplatsen i nätverket. Nätverket ärver alla inställningar från den första webbplatsens alternativ.

Lägga till nya webbplatser till WordPress Multisides-nätverk
Lägga till nya webbplatser till WordPress Multisides-nätverk

Om du klickar på länken eller knappen Lägg till ny webbplats kommer du till skärmen ovan där du kan lägga till en ny webbplats i ditt multisides-nätverk. Om du inte har någon annan i åtanke som administratör för den nya webbplatsen, kan du även tilldela dig själv rollen som admin.

3. Användare
Panelen Användare i instrumentpanelen Nätverksadministratör
Panelen Användare i instrumentpanelen Nätverksadministratör

skärmen Användare i instrumentpanelen Nätverksadministratör kan du hantera användare och lägga till nya användare i nätverket för flera enheter. Endast Super Admin kan lägga till användare i nätverket, men en Super Admin kan ändra nätverksinställningarna så att webbplatsadministratörer att lägga till nya användare på sina egna webbplatser.

4. Teman
Panelen Teman i instrumentpanelen Nätverksadministratör
Panelen Teman i instrumentpanelen Nätverksadministratör

skärmen Teman kan du hantera teman som är tillgängliga för webbplatsadministratörer. Du kan inte aktivera eller inaktivera teman som en webbplats använder, endast de teman som en webbplats kan använda.

Om du inaktiverar ett tema som används var som helst i nätverket förblir det aktivt på den webbplatsen även efter att du har inaktiverat det. Men om webbplatserna använder ett annat tema visas inte det inaktiverade temat på panelen Teman på nätverkswebbplatsen.

Du kan hänvisa till Kinsta’s WordPress Multisides-artikel för lärande om att arbeta med teman och plugins på ditt nätverk. Du kan även använda Temaredigeraren för att redigera temafilerna i själva instrumentpanelen.

5. Plugins
Panelen
Panelen ”Plugins” i instrumentpanelen för nätverksadministratör

Skärmen Plugins tillåter användare att lägga till eller ta bort plugins i nätverket. När du har lagt till plugins kan dessa aktiveras från en webbplats instrumentpanel. Du kan även  Nätverks Aktivera plugins härifrån för att tvinga plugin-användning på alla platser i nätverket.

Som standard kan en webbplatsadministratör inte komma åt plugin-menyn på instrumentpanelen. En superadministratör kan aktivera detta för dem genom att ändra nätverksinställningarna.

Aktivera plugin-administration för alla underwebbplats-administratörer
Aktivera plugin-administration för alla underwebbplats-administratörer

Obs: Alla WordPress-plugins stöder inte Multisides-nätverk. Du måste läsa pluginets dokumentation för att bekräfta om de kommer att fungera i multisides-inställningarna.

6. Inställningar
Panelen Nätverksinställningar på instrumentpanelen Nätverksadministratör
Panelen Nätverksinställningar på instrumentpanelen Nätverksadministratör

Du kan ställa in och ändra inställningarna för hela nätverket på skärmen Nätverksinställningar. Nätverkets standardinställningar baseras på den första webbplatsen som du skapade när du konfigurerade nätverket. Några nätverksinställningar som du kan ändra här är:

  • Driftinställningar
  • Registreringsinställningar
  • Nya webbplatsinställningar
  • Inställningar för uppladdning
  • Språkinställningar
  • Menyinställningar

Här kan du även komma åt den information om nätverksinställningar som du använde när du skapade nätverket. Du kan hänvisa till network admin inställningar-skärmen i WordPress Codex för att få en detaljerad översikt över alla tillgängliga inställningsalternativ.

7. Uppdateringar
Panelen Uppdateringar i instrumentpanelen Nätverksadministratör
Panelen Uppdateringar i instrumentpanelen Nätverksadministratör

Du kan styra uppdateringsprocessen för både nätverket och enskilda webbplatser från uppdateringsskärmen.  Uppdateringspanelen visar alla uppdateringar som är tillgängliga för WordPress Core, teman och plugins. När du har installerat den senaste versionen av WordPress kan du använda den på alla webbplatser i nätverket via Uppdatera Nätverk-skärmen.

Panelen
Panelen ”Uppgradera nätverk” på instrumentpanelen för nätverksadministratör

Obs: I en singel-webbplatsinstallation i WordPress, är administratören i huvudsak en Super Admin eftersom de har tillgång till all admin-kapacitet.

Du kan anpassa användarroller och även skapa egna anpassade roller med hjälp av WordPress fördefinierade funktioner.

Fördelar med användarroller och funktioner

Systemet med roller och funktioner är ryggraden i WordPress användarhantering. Här är några av dess många fördelar:

  • Användarroller hjälper dig att hantera alla användare på din webbplats mer effektivt. Även om du har dussintals användare på din webbplats som arbetar från olika delar av världen, kan du övervaka dem enkelt genom att ge rätt roller till var och en.
  • Genom att begränsa användarna till specifika funktioner skyddar du webbplatsen. Författare kan exempelvis inte ta bort andras inlägg, redaktörer kan inte ändra teman eller installera plugins och prenumeranter kan bara komma åt sina egna profiler.
  • WordPress plugins kan kontrollera om en användare har vissa funktioner, och baserat på detta, utföra en viss åtgärd. current_user_can()-funktionen i WordPress hjälper till att utföra denna kontroll. Till exempel kan ett säkerhetsplugin visa sin alternativpanel endast för administratören men ändå visa säkerhetsvarningar för alla användare.
  • Du kan redigera användarroller för att delegera en del av ditt rollansvar till andra användare för att frigöra din tid. Din webbplats kanske får en hel del kommentarer. I sådana fall kan du tillåta en betrodd författare att moderera kommentarerna. Du behåller fortfarande den ultimata makten som administratör, men du kan dela en del av ditt ansvar beroende på behovet.
  • Du kan använda funktionskontroller för att visa privata inlägg och sidor som bara vissa användarroller kan visa. Detta utgör grunden för medlemskaps- webbplatser.
  • Du kan visa eller dölja frontend-element på din webbplats (t.ex. menyalternativ,  widgets) beroende på användarrollen.
  • Du kan skapa anpassade inläggstyper med anpassade funktioner och bevilja eller neka dessa funktioner för varje användarroll. På samma sätt kan du även definiera anpassade funktioner så att endast vissa roller har tillgång till dina plugin- eller temainställningar.

Hantera WordPress-användarroller effektivt

Att känna till alla användarroller och funktioner är viktigt, men du måste även förstå hur du hanterar dem effektivt på dina webbplatser. Även om inga WordPress-webbplatser är exakt likadana, finns det några grundläggande regler som du kan följa för att göra det bästa möjliga av WordPress användarroller och funktioner.

Ge minimal åtkomst till alla användare

Tilldela varje användare på din webbplats endast den åtkomstnivå som de behöver. Det är alltid bättre att ge färre behörigheter än för många. Att säkra WordPress-användarroller är avgörande för att hålla din webbplats och dess innehåll säkert.

Tilldela användarroller noggrant till varje användare
Tilldela användarroller noggrant till varje användare

Begränsa antalet administratörer och redaktörer

Som en allmän regel bör varje webbplats endast ha en administratör och det bör endast göras grundläggande ändringar på webbplatsen. WordPress rekommenderar att du följer ”principen om lägsta möjliga privilegier”, som föreslår att du endast ska ge en användare de privilegier som är nödvändiga för att utföra deras önskade arbete.

Det är exempelvis bättre att använda en användare på redaktörs-nivå till att hantera innehåll på webbplatsen i stället för att använda en administratör. Om du har mer än en redaktör på din webbplats, se till att du kan lita på dem .

Tilldela rollen Författare till innehållsskapare som du kan lita på, eftersom de kan publicera och ta bort sina egna inlägg. Medarbetar-roller passar bättre för nya innehållsskapare och gästtjänster.

Anpassa användarroller beroende på behovet

WordPress standard-användarroller är användbara, men de kanske inte är lämpliga för varje användningsfall. Du kanske exempelvis vill ge dina författare möjlighet att moderera kommentarer.

Tack och lov ger WordPress oss möjlighet att anpassa användarroller eller skapa nya roller enligt våra unika behov. Du kan göra detta manuellt genom kod eller med hjälp av WordPress användarroll-plugins. Vi går igenom båda metoderna i den här artikeln.

Hantera användare på WordPress Multisides-nätverk

WordPress Multisidor innehåller unika inställningar för användarhantering. Några av dem är enkla att förstå, medan andra är lite krångligare.

Låt oss utforska dem alla på djupet.

Inställningar för registrering av nätverk på flera webbplatser

Endast en superadministratör kan skapa nya användare och webbplatser i nätverket direkt. De kan dock tillåta att användare registrerar konton i nätverket som prenumeranter på underwebbplatserna.

Om du vill aktivera detta går du till Nätverksadministratör > Nätverksinställningar > Registreringsinställningar > Tillåt nya registreringar och aktiverar alternativet ”Användarkonton kan registreras”.

Tillåt användare att registrera ett konto i nätverket
Tillåt användare att registrera ett konto i nätverket

Här kan du även tillåta inloggade användare att skapa nya webbplatser i nätverket. Du kan markera det här alternativet om du vill begränsa möjligheten att skapa webbplatser endast för användare som konfigurerats av dig.

Med det sista alternativet kan användare registrera ett konto och skapa en webbplats i nätverket. Användare som skapar en webbplats i nätverket får rollen som administratör för sin underwebbplats.

Ett användarkonto som ska komma åt hela nätverket

När du skapar ett användarkonto i nätverket, eller när en användare registrerar ett konto på någon av nätverkets webbplatser, kan de navigera till valfri plats i nätverket efter inloggning. Föreställ dig detta som ett socialt nätverk som Facebook eller reddit där du kan skapa ett konto och komma åt alla grupper eller subreddits med samma användarprofil.

Detta är en av de stora fördelarna med att använda WordPress Multisidor. Det gör att användarna kan komma åt alla dina webbplatser genom att endast registrera ett enda konto.

Bevilja extra privilegier till webbplatsadministratörerna

Du kan tillåta webbplatsadministratörer att lägga till användare på sina egna webbplatser genom att markera alternativet Lägg till nya användare.

Gör så att webbplatsadministratörer kan lägga till nya användare på sin underwebbplats
Gör så att webbplatsadministratörer kan lägga till nya användare på sin underwebbplats

Som tidigare nämnts kan du ge webbplatsadministratörer tillgång till att hantera plugins på sina underwebbplatser genom att gå till Nätverksinställningar > Menyinställningar och kontrollera alternativet aktivera administrationsmenyer > Plugins.

Användarregistrering på underwebbplatsnivå

WordPress Multisides-installationer tillåter endast användarregistreringar för hela nätverket som standard. Det finns inget alternativ för att aktivera användarregistreringar för endast en underwebbplats. Du kan ändra detta genom att använda plugin:et användarregistrering för nätverks-underwebbplatser.

Network Subsite User Registration WordPress-plugin
’Network Subsite User Registration’-pluginet

Detta plugin gör det möjligt för webbplatsadministratörer att aktivera lokala användarregistreringar med åtkomst som är begränsad endast till deras webbplats. Nya användare kommer att få prenumerant-rollen som standard, men du kan ändra detta genom att ändra plugin-inställningarna.

 Gör det möjligt för vem som helst att registrera ett konto på endast dina underwebbplatser
Gör det möjligt för vem som helst att registrera ett konto på endast dina underwebbplatser

Tilldela samma användare flera underwebbplatser

Du kan tilldela samma användare flera webbplatser i nätverket med unika roller. När användaren loggar in på instrumentpanelen på sina webbplatser kan de komma åt instrumentpanelen för alla sina webbplatser via skärmen Mina webbplatser.

Du kan tilldela en användare flera webbplatser i ett Multisides-nätverk i WordPress
Du kan tilldela en användare flera webbplatser i ett Multisides-nätverk i WordPress

Bevilja andra användare superadministratörs-behörighet

En superadministratör kan även dela sina privilegier med andra användare. Du bör aktivera det här alternativet med försiktighet och endast tilldela det till användare som du kan lita på.

Ge andra användare behörigheten Super admin för nätverket
Ge andra användare behörigheten Super admin för nätverket

Att förstå alla inställningar när det gäller användarhantering i WordPress Multisidor hjälper dig att hantera ditt nätverk bättre. För att hitta andra användbara plugins för WordPress Multisidor, kan du utforska dem i WordPress repo eller i artikeln Kinsta´s rekommenderade Multisides-plugins i WordPress.

Så här anpassar du befintliga WordPress-användarroller

Du kan lägga till funktioner i dina befintliga användarroller för att öka deras åtkomstnivå. Du kan exempelvis ge redaktörer möjlighet att hantera plugins. Eller du kanske vill att medarbetare ska kunna moderera kommentarer på sina egna inlägg. Låt oss lära oss att göra detta.

Obs: Om kod är inte din grej, kan du hoppa över den manuella metoden och gå direkt till användarroller och funktions-plugins nedan. Eller helt enkelt anlita en WordPress-utvecklare.

Lägga till funktioner i en användarroll

Du kan lägga till en funktion i en användarroll eller för en specifik användare med hjälp av funktionen add_cap(). Jag kommer använda ett anpassat plugin som kallas Customize User Role  för att visa hur man använder denna funktion för att ge Redaktören befogenhet att hantera plugins.

<?php

/*
Plugin Name:  Customize User Role
Version:  1.0
Description:  Demonstrating how to customize WordPress User Roles.
Author:  Salman Ravoof
Author URI:  https://www.salmanravoof.com/
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  customize-user-role
*/

WordPress rekommenderar att man kör denna funktion på plugin eller tema- aktivering eftersom de inställningar som läggs till lagras i databasen i wp_options  tabell under wp_user_roles-fältet. Det är ineffektivt att köra den här funktionen varje gång du läser in en sida eftersom databastabellerna kommer att fortsätta att bli överskrivna på varje sido-inläsning.

Eftersom jag använder ett plugin, nyttjar jag register_activation_hook ()-funktionen för att koppla in i den åtgärd som körs när ett plugin aktiveras. Det finns många sätt att göra detta på, men jag använder en robust klassbaserad implementering för att säkerställa att det inte finns några konflikter.

// this code runs only during plugin activation and never again
function sal_customize_user_role() {
    require_once plugin_dir_path( __FILE__ ).'includes/class-sal-customize-user-role.php';   
    Sal_Customize_User_Role::activate();
}
register_activation_hook( __FILE__, 'sal_customize_user_role' );

Ovanstående kod körs endast en gång under plugin-aktiveringen. Den anslutna funktionen sal_customize_user_role  refererar till en anpassad klass som kallas  Sal_Customize_User_Role.

Jag har definierat denna klass i en separat fil som heter class-sal-customize-user-role.php  och har placerat den i min plugin-rotmapp inuti en undermapp som heter  includes, men du kan namnge den som du vill.

<?php

class Sal_Customize_User_Role {
    public static function activate() {
        // get the Editor role's object from WP_Role class
        $editor = get_role( 'editor' );

        // a list of plugin-related capabilities to add to the Editor role
        $caps = array(
                  'install_plugins',
                  'activate_plugins',
                  'edit_plugins',
                  'delete_plugins' 
        ); 

        // add all the capabilities by looping through them
        foreach ( $caps as $cap ) {
            $editor->add_cap( $cap );
        }
    }
}

Här är en detaljerad förklaring av ovanstående kod:

  • Börja med att definiera klassen och dess funktion som du refererade till i huvudplugin-filen.
  • Funktionen get_role( ”editor”)  hämtar rollobjektet Editor från  WP_Role´s  kärnklass och tilldelar det till variabeln  $editor.
  • För att hantera plugin-program krävs fyra funktioner: install_plugins,  activate_plugins,  edit_plugins och  delete_plugins. Men funktionenadd_cap()  accepterar bara en parameter. Därför måste vi inkludera alla funktioner i en matris. Definiera $caps-matrisen för att innehålla alla dessa funktioner. Om du bara lägger till en funktion behöver du inte definiera en matris.
  • Funktionen add_cap( $cap ) lägger till alla funktioner som definierats i $caps  matrisen genom att loopa igenom dem alla med hjälp av PHP-funktionen  foreach().

Spara alla dina plugin-filer och aktivera sedan pluginet från administratörs-instrumentpanelen. Nu ska vi logga in på redaktörs-panelen för att se ändringarna.

Redaktörer kan nu hantera plugins från sin instrumentpanel
Redaktörer kan nu hantera plugins från sin instrumentpanel

När du har lagt till plugin-relaterade funktioner till användarrollen kan redaktörerna se menyn Plugins som anges i deras admin-meny.

Skärmen
Skärmen ”Lägg till plugins” i redaktörs-panelen

Du kan kontrollera de funktioner som tilldelats varje användarroll genom att se wp_user_roles  nyckelvärde som lagras i  wp_options-tabellen i wordpress-webbplatsens databas.

Här är de funktioner jag hittade som tilldelats redaktörs-rollen:

'editor' => 
  array (
    'name' => 'Editor',
    'capabilities' => 
    array (
      'moderate_comments' => true,
      'manage_categories' => true,
      // [...lines cut off for brevity...]
      'install_plugins' => true,
      'activate_plugins' => true,
      'edit_plugins' => true,
    ),
  ),

Lägg märke till de tre sista raderna som ger Redaktörerna möjlighet att hantera plugins.

Om du vill ta bort dessa funktioner, kan du koppla in register_deactivation_hook()  funktionen och använda  remove_cap()-funktionen för att ta bort möjligheten till plugin-avaktivering, på samma sätt som vi har lagt till dessa funktioner genom plugin- aktivering.

Nu när du har lärt dig hur du lägger till funktioner i en användarroll är det dags att lära dig hur du tar bort funktioner från en användarroll.

Obs: Du kan även koppla in after_switch_theme-åtgärder för att avfyra denna kod under tema (och / eller barntema)-aktivering. Här måste du inkludera koden i ditt tema eller Barn-tema’s (rekommenderas) functions.php-fil.

Ta bort funktioner från en användarroll

Ibland kanske du vill ta bort en funktion från en användarroll. Du kan köra funktionen remove_cap() för att ta bort en funktion från en roll eller en viss användare. Det är till exempel en utmärkt idé att ta bort delete_published_posts-funktionen från användarrollen Författare. delete_published_posts.

Låt oss göra detta!

Jag ska skapa ett nytt, anpassat plugin med namnet Anpassa författarrollen för att komma igång. Precis som tidigare, kör jag endast denna kod en gång genom att koppla in register_activation_hook ()-funktionen

<?php

/*
Plugin Name:  Customize Author Role
Version:  1.0
Description:  Demonstrating how to customize WordPress Author Role.
Author:  Salman Ravoof
Author URI:  https://www.salmanravoof.com/
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  customize-author-role
*/

// this code runs only during plugin activation and never again
function sal_customize_author_role() {
    require_once plugin_dir_path( __FILE__ ).'includes/class-sal-customize-author-role.php';
    Sal_Customize_Author_Role::activate();
}
register_activation_hook( __FILE__, 'sal_customize_author_role' );

Härnäst så kommer jag att definiera Sal_Customize_Author_Role-klassen inuti class-sal-customize-author-role.php-filen. Jag har refererat båda de här resurserna i huvud-plugin filen ovan

<?php
class Sal_Customize_Author_Role { 
    public static function activate() {
        // get the Editor role's object from WP_Role class
        $author = get_role( 'author' );
 
        // remove the capability to delete published posts from an Author role
        $author->remove_cap( 'delete_published_posts' );
    }
}

Funktionen remove_cap( "delete_published_posts")  tar bort möjligheten att ta bort publicerade inlägg från rollen Författare.

Författare får ta bort sina publicerade inlägg som standard
Författare får ta bort sina publicerade inlägg som standard

Det är dags att spara alla plugin-filer och sedan aktivera pluginet. Logga nu in på instrumentpanelen Författare och se ändringarna.

Författare kan inte längre ta bort sina publicerade inlägg
Författare kan inte längre ta bort sina publicerade inlägg

Papperskorgen är inte längre tillgänglig för inlägg som publicerats av författare. De kan dock fortfarande ta bort sina opublicerade inlägg som har utkast eller väntande-status.

Författare kan fortfarande ta bort sina opublicerade inlägg
Författare kan fortfarande ta bort sina opublicerade inlägg

Om du även vill inaktivera detta, måste du även ta bort delete_posts-funktionen från rollen Författare.

Lägga till eller ta bort funktioner för specifika användare

Om du vill lägga till funktioner för en viss användare, i motsats till en hel användarroll, kan du använda klassfunktionen WP_User::add_cap() för att lägga till funktionen.

// get the user object by their ID
$user = new WP_User( $user_id ); 

// add the capability to the specific user
$user->add_cap( $cap );

Du kan använda funktionen get_user_by()  för att hämta id:t för alla användare med hjälp av deras e-post, inloggningsanvändarnamn eller slug.

På samma sätt kan du ta bort funktioner från en viss användare med hjälp av klassfunktionen WP_User::remove_cap().

// get the user object by their ID
$user = new WP_User( $user_id );

// add the capability to the specific user
$user->add_cap( $cap );

Precis som tidigare ska du endast köra dessa funktioner på plugin eller tema- aktivering för att hålla din kod optimerad.

Obs: Både  add_cap()  och  remove_cap()  är objektmetoder för klassen  WP_Role.  Du kan inte anropa dem direkt i din kod. Du måste komma åt dem med hjälp av antingen funktionen get_role()  eller den globala variabeln $wp_roles.

Duplicera en användarroll

Du kan skapa en ny användarroll genom att klona alla funktioner för en befintlig användarroll. Så här kan du göra detta:

add_role( 'clone', 'Clone', get_role( 'administrator' )->capabilities );

I exemplet ovan skapar jag en ny roll som heter Clone med samma funktioner som en administratör. Om du kör den här koden på tema- eller plugin-aktiveringen kommer den klonade rollen endast att läggas till en gång.

Så här skapar du anpassade användarroller i WordPress

Att redigera funktioner för standardanvändarroller är ett snabbt sätt att anpassa dem på. Men om du vill redigera många funktioner i en roll är det en bra idé att skapa en helt ny anpassad användarroll. På så sätt kan du ställa in de exakta funktionerna som du vill ha för varje roll på din webbplats.

Om du vill skapa en anpassad användarroll måste du använda funktionen add_role(). Den accepterar tre parametrar.

add_role(  $role, $display_name, $capabilities );

De två första parametrarna ska vara strängar (detta krävs) för att funktionen ska köras. De definierar den nya anpassade rollens namn och visningsnamn. Den sista parametern är valfri och bör vara en matris. Du kan använda den för att tilldela samtliga funktioner åt den nya rollen.

Nu ska vi skapa en anpassad användarroll som heter Community Manager som kan moderera kommentarer och redigera inlägg på hela webbplatsen. Så här kan du göra detta:

<?php

/*
Plugin Name:  Add Community Manager Role
Version:  1.0
Description:  Add a Custom User Role called 'Community Manager'
Author:  Salman Ravoof
Author URI:  https://www.salmanravoof.com/
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  add-community-manager-role
*/

// this code will run only once on plugin activation and never again
function add_community_manager_role() {
    add_role(
         'community_manager',
         __('Community Manager', 'add-community-manager-role'), 
         array( 
              'read' => true,
              'moderate_comments' => true,
              'edit_posts' => true,
              'edit_other_posts' => true,
              'edit_published_posts' => true
         )
    );
}
register_activation_hook( __FILE__, 'add_community_manager_role' );

Som tidigare körs add_role()-funktionen bara en gång under plugin-aktiveringen och aldrig mer. Spara filen och aktivera pluginet på administratörs-instrumentpanelen. Du bör nu kunna tilldela rollen community Manager till både nya och befintliga användare.

Tilldela den anpassade användarrollen till nya användare
Tilldela den anpassade användarrollen till nya användare
Tilldela den anpassade användarrollen till befintliga användare
Tilldela den anpassade användarrollen till befintliga användare

Du kan även verifiera de funktioner som tilldelats den här nya rollen genom att kontrollera värdet för wp_user_roles-fältet under wp_options-tabellen i databasen. Här är vad jag hittade i min webbplats-databas:

array (
  'administrator' => 
    // [...]
  'editor' => 
    // [...]
  'author' => 
    // [...]
  'contributor' => 
    // [...]
  'subscriber' => 
    // [...]
  'community_manager' => 
  array (
    'name' => 'Community Manager',
    'capabilities' => 
    array (
      'read' => true,
      'moderate_comments' => true,
      'edit_posts' => true,
      'edit_other_posts' => true,
      'edit_published_posts' => true,
    ),
  ),
) 

I slutet är den nya roll vi just lagt till listad med alla dess funktioner. Du kan redigera den här rollen ytterligare genom att lägga till eller ta bort funktioner.

Testa en ny användarroll

Innan du tilldelar en verklig användare den nya användarrollen är det viktigt att testa om den fungerar som avsett. Här är en checklista som du kan följa för att testa den:

  1. Skapa ett testanvändarkonto och tilldela den nya användarrollen detta.
  2. Logga in med testanvändaren och se till att alla dess funktioner fungerar som avsett. Om du exempelvis har skapat möjligheten till att redigera publicerade inlägg går du sedan till ett inlägg och kontrollerar om du kan redigera det. Ju fler funktioner du har tilldelat rollen, desto mer tid kommer du att spendera på att testa dem alla.
  3. Försök sedan att besöka en administrativ länk på högre nivå direkt i webbläsaren. Jag testade detta genom att besöka WordPress Inställnings- skärm direkt. Precis som väntat, ville WordPress inte släppa in mig. Meddelandet ”nekad åtkomst” visat av WordPress
  4. Ta bort testanvändaren när du har testat den.

Nu är du i stort sett klar! Nu kan du tilldela den nya rollen till webbplatsens användare.

Du kan använda User Switching eller View Admin As-pluginen för att byta mellan olika användarkonton på din webbplats med bara ett enda klick. Detta är otroligt praktiskt för att testa funktionerna hos flera användare. Jag går igenom dem båda i detalj senare i den här artikeln.

Skapa anpassade användarroller i WordPress Multisidor

WordPress Multisidor hanterar användarroller lite annorlunda än singel-installationer på WordPress. Även om du kan använda funktionen add_role()  för att skapa en anpassad användarroll som hur vi gjorde tidigare, fungerar den nya rollen bara på nätverkets primära webbplats (den första webbplatsen du skapade). Den sprids inte till alla underplatser i nätverket.

Om du vill vara säker på att koden i callback-funktionen körs på varje plats i nätverket måste du tvinga fram körningen genom att gå igenom alla nätverkets webbplatser en efter en. För detta exempel ska jag skapa en ny användarroll som heter Plugin Manager som kommer att ha alla funktioner för att hantera plugins

<?php

/*
Plugin Name:  Add Plugin Manager Role
Version:  1.0
Description:  Add a custom user role named Plugin Manager in a WordPress Multisite Installation
Author:  Salman Ravoof
Author URI:  https://www.salmanravoof.com/
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  add-plugin-manager-role
*/

/* 
make the code run on every site in the network
when the plugin is Network Activated
*/
function add_plugin_manager_role( $network_wide ) {
 
     if ( is_multisite() && $network_wide ) { 
         // run the code for all sites in a Multisite network
         foreach ( get_sites(['fields'=>'ids']) as $blog_id ) {
             switch_to_blog( $blog_id );
                 add_role(
                      'plugin_manager',
                      __('Plugin Manager', 'add-plugin-manager-role'),
                      array( 
                           'install_plugins' => true,
                           'activate_plugins' => true,
                           'edit_plugins' => true,
                           'delete_plugins' => true
                      )
                 );
             }
             restore_current_blog();
     }
     else {
         add_role(
              'plugin_manager',
              __('Plugin Manager', 'add-plugin-manager-role'),
              array( 
                   'install_plugins' => true,
                   'activate_plugins' => true,
                   'edit_plugins' => true,
                   'delete_plugins' => true
              )
         );
     }
}
register_activation_hook( __FILE__, 'add_plugin_manager_role' );

Låt oss gå igenom ovanstående kod i detalj:

  • Först kopplar du in plugin-aktiveringsåtgärden med funktionen register_activation_hook()  och sätter i din callback-funktion. Här är callback-funktionen  add_plugin_manager_role().
  • Sedan definierar du din callback-funktion och skickar in ett enda argument tillsammans med det som kallas $network_wide.
  • Parametern $network_wide  är en bool som returnerar  true om du har aktiverat pluginet för hela nätverket. Den returnerar false om du bara har aktiverat det för den aktuella webbplatsen. Dessutom är det endast tillämpligt för Multisides-installationer och dess standardvärde är false.
  • is_multisite() &$network_wide´s villkorliga uttalande kontrollerar om pluginet är ”Nätverksaktiverat” i en multisides-installation. Om det är truekörs koden som finns i  if-satsen. Om det är false körs koden i else-satsen.
  • Funktionen get_sites(['fields'=>'ids']) returnerar en lista över alla plats-ID:er i nätverket. Användning av PHP-funktionen foreach(), loopar den igenom dem alla för att köra koden på varje nätverksplats individuellt.
  • Funktionen switch_to_blog( $blog_id) får de närmaste kodraderna att köras för underwebbplatsen med  $blog_id-ID. Eftersom WordPress startade som en bloggnings-plattform, kan du ersätta ordet ”blogg” med ”webbplats” för att förstå dess användning bättre här.
  • Därefter använder du funktionen add_role()  för att skapa den anpassade användarrollen med dess funktioner. Detta följer samma kodkonventioner som tidigare i den här artikeln.
  • Innan du avslutar loopen definierar du funktionen restore_current_blog() för att säkerställa att du återställer det växlade platstillståndet tillbaka till dess ursprungliga tillstånd.
  • Koden i else-satsen är en återgång för att säkerställa kompatibilitet med installationer med en singel-webbplats.

Spara plugin-filen och gå till Network Admin > Plugins-skärmen för att ”Nätverks Aktivera” ditt anpassade plugin. Därefter går du till fliken Användare under någon av webbplatsens redigera webbplatsskärmar för att kontrollera om den nya plugin manager-rollen är tillgänglig.

 Ändra rollen för befintliga webbplatsanvändare till den nya användarrollen
Ändra rollen för befintliga webbplatsanvändare till den nya användarrollen
 Tilldela den anpassade användarrollen till nya användare för en underwebbplats
Tilldela den anpassade användarrollen till nya användare för en underwebbplats

Jag bekräftade även att denna nya användarroll är tillgänglig på andra platser i nätverket. Det fungerar felfritt.

 Tilldela den nya användarrollen till befintliga användare på underwebbplatser
Tilldela den nya användarrollen till befintliga användare på underwebbplatser

Du kan även verifiera den nya anpassade rollen och dess funktioner genom att titta in i webbplatsens databas. Men till skillnad från installationer på en singel-webbplats skapar WordPress Multisidor en separat wp_options-tabell för varje underwebbplats.

Platsen där användarroller lagras i en WordPress Multisides-databas
Platsen där användarroller lagras i en WordPress Multisides-databas

Du hittar de underplatsspecifika tabeller som anges som wp_2_options,  wp_3_optionsoch  wp_4_options. På samma sätt lagras rollerna och funktionerna i sina respektive fält med namnen wp_2_user_roles,  wp_3_user_rolesoch  wp_4_user_roles.

Du har definierat hur du skapar en anpassad användarroll på alla webbplatser i nätverket, men hur är det med webbplatser som kommer att skapas i framtiden? Om du vill vara säker på att du lägger till den här anpassade användarrollen på alla nya webbplatser som skapas i nätverket kan du lägga till följande kod i pluginet:

// run the code once again when a new site is created
function add_custom_user_role_new_site( $blog_id ) { 
    // check whether the plugin is active for the network
    if ( is_plugin_active_for_network( 'add-custom-user-role/add-custom-user-role.php' ) ) {
        switch_to_blog( $blog_id );
        add_role(
             'plugin_manager',
             __('Plugin Manager', 'add-plugin-manager-role'),
             array( 
                  'install_plugins' => true,
                  'activate_plugins' => true,
                  'edit_plugins' => true,
                  'delete_plugins' => true
             )
        );
        restore_current_blog();
    }
}
add_action( 'wpmu_new_blog', 'add_custom_user_role_new_site' );
  • Åtgärden wpmu_new_blog  utlöses när någon skapar en ny plats i ett nätverk på flera webbplatser. Du kan ansluta till den här åtgärden med din callback-funktion för att lägga till den anpassade användarrollen.
  • Funktionen is plugin_active_for_network() kontrollerar om pluginet är aktivt för hela nätverket och returnerar ett bool-värde. Den accepterar plugin-filens sökväg som ett argument.
  • Resten av koden följer samma logik som tidigare. Du växlar till den nya webbplatsen med parametern  $blog_id, skapar din anpassade roll med funktionen add_role() och växlar sedan tillbaka till den aktuella platsen med hjälp av funktionen restore_current_blog().

Så här tar du bort användarroller från WordPress

Du kan ta bort alla användarroller från WordPress med hjälp av funktionen remove_role( ). Den accepterar bara ett argument, vilket är rollnamnet. Du kan till exempel ta bort rollen Medarbetare genom att köra följande kod var som helst på webbplatsen:

remove_role( 'contributor' );

Till skillnad från funktionen add_role()  som fortsätter att uppdatera databasen om den inte körs på plugin- eller temaaktivering, körs funktionen remove_role() endast om rollen finns. Eftersom en roll som skickas in som ett argument tas bort första gången den körs behöver du inte oroa dig för var du kör den här funktionen.

Om du vill undvika framtida konflikter tar du dock bort koden när rollen har tagits bort från databasen.

Skapa anpassade funktioner i WordPress

Att redigera befintliga användarroller och skapa nya anpassade roller med hjälp av WordPress inbyggda funktioner är tillräckligt för de flesta användningsfall. Men du kanske vill definiera nya funktioner för funktioner som införts av din anpassade kod (med hjälp av ett plugin eller tema).

Du kan sedan använda dessa anpassade funktioner för att definiera nya roller eller lägga till dem i befintliga.

WooCommerce lägger exempelvis till extra funktioner och roller tillsammans med dess omfattande e-handels-funktioner. Några funktioner som läggs till är:

  • Tillåt hantering av WooCommerce-inställningar
  • Skapa och redigera produkter
  • Visa WooCommerce-rapporter

Med hjälp av dessa funktioner läggs två nya användarroller till: Kund och Butikschef.

WooCommerce lägger till sina egna användarroller
WooCommerce lägger till sina egna användarroller

Rollen Kund är nästan som rollen Prenumerant, förutom att användare med rollen Kund kan redigera sin kontoinformation och visa aktuella/tidigare ordrar. Rollen Butikschef innehåller alla funktioner som en redaktör har, plus att de även beviljas alla WooCommerce-funktioner.

Andra plugins som introducerar anpassade funktioner och/eller roller är The Events CalendarVisual PortfolioWPML, och WP ERP.

Om du dyker in i dokumentationen av alla dessa plugins, kommer du att notera att de knyter an nästan alla sina anpassade funktioner till anpassade inläggstyper som definieras av dem. I WooCommerce´s fall, är det produkt och beställnings-anpassade inläggs-typer, medan det annars kan röra sig om händelser, portfolios,  översättningaroch kunder.

Låt oss lära oss hur du skapar anpassade funktioner som är knutna till en anpassad inläggstyp.

Först ska du ställa in ett plugin och registrera den anpassade inläggstyp som du vill ha. I mitt exempel registrerar jag en ny anpassad inläggstyp som heter Stories.

<?php

/*
Plugin Name:    Custom Post Type and Capabilities
Version:        1.0
Description:    Register a custom post type and define custom capabilities tied into it.
Author:         Salman Ravoof
Author URI:     https://www.salmanravoof.com/
License:        GPLv2 or later
License URI:    https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    custom-post-type-capabilities
*/

// register a custom post type, in this case it's called "story" //
function cpt_story_init() {
    $labels = array(
        'name'                  => _x( 'Stories', 'custom-post-type-capabilities' ),
        'singular_name'         => _x( 'Story', 'custom-post-type-capabilities' ),
        'menu_name'             => _x( 'Stories', 'Admin Menu text', 'custom-post-type-capabilities' ),
        'name_admin_bar'        => _x( 'Story', 'Add New on Toolbar', 'custom-post-type-capabilities' ),
        'add_new'               => __( 'Add New', 'custom-post-type-capabilities' ),
        'add_new_item'          => __( 'Add New Story', 'custom-post-type-capabilities' ),
        'new_item'              => __( 'New Story', 'custom-post-type-capabilities' ),
        'edit_item'             => __( 'Edit Story', 'custom-post-type-capabilities' ),
        'view_item'             => __( 'View Story', 'custom-post-type-capabilities' ),
        'all_items'             => __( 'All Stories', 'custom-post-type-capabilities' ),
        'search_items'          => __( 'Search Stories', 'custom-post-type-capabilities' ),
        'parent_item_colon'     => __( 'Parent Stories:', 'custom-post-type-capabilities' ),
        'not_found'             => __( 'No stories found.', 'custom-post-type-capabilities' ),
        'not_found_in_trash'    => __( 'No stories found in Trash.', 'custom-post-type-capabilities' ),
        'featured_image'        => _x( 'Story Cover Image', 'custom-post-type-capabilities' ),
        'set_featured_image'    => _x( 'Set cover image', 'custom-post-type-capabilities' ),
        'remove_featured_image' => _x( 'Remove cover image', 'custom-post-type-capabilities' ),
        'use_featured_image'    => _x( 'Use as cover image', 'custom-post-type-capabilities' ),
        'archives'              => _x( 'Story archives', 'custom-post-type-capabilities' ),
        'insert_into_item'      => _x( 'Insert into story', 'custom-post-type-capabilities' ),
        'uploaded_to_this_item' => _x( 'Uploaded to this story', 'custom-post-type-capabilities' ),
        'filter_items_list'     => _x( 'Filter stories list', 'custom-post-type-capabilities' ),
        'items_list_navigation' => _x( 'Stories list navigation', 'custom-post-type-capabilities' ),
        'items_list'            => _x( 'Stories list', 'custom-post-type-capabilities' ),
    );
 
    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'menu_icon'          => 'dashicons-book',   
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'story' ),
        'capability_type'    => array ( 'story', 'stories' ),
        'map_meta_cap'       => true,
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => 6,
        'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ),
        'show_in_rest'       => true,
    );
 
    register_post_type( 'story', $args );
}
 
add_action( 'init', 'cpt_story_init' );

Här är en uppdelning av ovanstående skript:

  • Använd funktionen register_post_type()  för att registrera din anpassade inläggstyp. Du kan ansluta till initaktionen för att köra den här funktionen.
  • Funktionen register_post_type()  accepterar två argument. Det första är namnet på den anpassade inläggstypen och den andra är en matris som innehåller alla argument för att registrera inläggs-typen.
  • Variabeln $args  innehåller alla argument som du skickar till funktionen register_post_type(). Ett av dess argument (”labels”)är i sig en matris som definieras separat som  $label-variabel.
  • Notera argumentet "capability_type" => "post".  Det är standardfunktionstypen som används av WordPress för att bygga läs-, redigerings- och borttagningsfunktionerna för den anpassade inläggstypen.
  • Om du vill skapa dina anpassade funktioner måste du ersätta värdet för argumentet capability_type med det önskade namnet på dina anpassade funktioner. Den accepterar antingen en sträng eller en matris som ett argument. Matrisen är användbar om den anpassade funktionens plural inte följer standardsyntaxen för suffix (t.ex. bok/böcker vs berättelse/berättelser).
  • Du kan även använda argumentet funktions för att namnge de nya funktionerna på ett annat sätt än vad WordPress gör automatiskt.
  • Du måste kartlägga dina anpassade funktioner till WordPress primitiva funktioner. Sätt map_meta_cap-argumentet på  sant så att WordPress vet att det behöver kartlägga de anpassade funktionerna.

Därefter måste du lägga till de anpassade funktionerna i de roller som du vill ge åtkomst till den anpassade inläggstypen Stories. I det här exemplet beviljar jag möjligheten till administratörs- och redaktörs-roller.

// add the custom capabilities to the desired user roles 
$roles = array( 'editor','administrator' );

foreach( $roles as $the_role ) {      
    
    $role = get_role($the_role);
            
            $role->add_cap( 'read' );
            $role->add_cap( 'read_story');
            $role->add_cap( 'read_private_stories' );
            $role->add_cap( 'edit_story' );
            $role->add_cap( 'edit_stories' );
            $role->add_cap( 'edit_others_stories' );
            $role->add_cap( 'edit_published_stories' );
            $role->add_cap( 'publish_stories' );
            $role->add_cap( 'delete_others_stories' );
            $role->add_cap( 'delete_private_stories' );
            $role->add_cap( 'delete_published_stories' );
}

Spara filen och aktivera sedan pluginet. Du bör nu se länken och panelen Stories  på instrumentpanelen för administratör eller redaktör.

 Panelen för
Panelen för ”Stories”-anpassade inlägg i WordPress instrumentpanel

Om du kontrollerar vilka funktioner som är tillgängliga på din webbplats ser du även alla händelse-relaterade funktioner som vi har lagt till. Här använder jag View Admin As-pluginet för att kontrollera funktionerna.

Anpassade funktioner relaterade till den anpassade inläggstypen Stories
Anpassade funktioner relaterade till den anpassade inläggstypen Stories

Du kan ladda ner en omfattande version av detta plugin genom denna Gist. Den registrerar en anpassad inläggstyp som kallas Projekt med en uppsättning anpassade funktioner. Och sedan tilldelas dem till två anpassade roller som heter  students och teachers för att hjälpa dig att bygga en pedagogisk webbplats.

Det finns ett sätt att definiera anpassade funktioner som ger användarna åtkomst till dina plugin-inställningar baserat på deras roll. Diskussionen om hur man gör detta ryms inte i den här artikeln, men du kan hänvisa till denna informativa tråd på StackExchange för mer information.

De bästa pluginen för WordPress-användarroller och funktioner KOMMIT HIT!

Att veta hur man justerar användarroller och funktioner med kod är bra, men det passar inte alla. Det finns väldigt många saker som kan gå fel om du inte är säker på vad du gör. Men att veta hur roller och funktioner fungerar i WordPress är till stor hjälp även om du använder ett plugin.

Låt oss titta på några av de mest populära WordPress-pluginen för att enkelt anpassa WordPress-användarroller och funktioner. Jag ska även lista några användbara plugins för att snabbt testa roller och funktioner.

User Role Editor (av Vladimir Garagulia)

'User Role Editor' WordPress-pluginet
’User Role Editor’ WordPress pluginet

User Role Editor är det mest populära pluginet för roller och kapacitet i WordPress- arkivet. Det levereras med ett enkelt gränssnitt som tillåter vem som helst att redigera användarroller och funktioner med bara ett enda klick.

När du har installerat och aktiverat plugin-programmet kan du gå till Användare > Användarroll-redigeraren  i administratörs-instrumentpanelen för att komma åt dess primära gränssnitt.

User Role Editor instrumentpanelen
User Role Editor instrumentpanelen

Här är en detaljerad översikt över instrumentpanelens avsnitt som markerats ovan:

  1. Välj den roll som du vill anpassa i rullgardinsmenyn. Detta kommer att lista inte bara standardrollerna utan alla roller som finns i databasen. Du kan även välja att visa funktionerna i mänskligt läsbar form i stället för i deras konstanter. Ett annat alternativ låter dig se föråldrade funktioner som inte längre stöds i den senaste versionen av WordPress.
  2. Redigeraren för användarroll grupperar alla funktioner i olika kategorier till vänster. Kategorin Kärna innehåller alla inbyggda funktioner. Eftersom jag har installerat WooCommerce på denna webbplats, kan du även hitta funktioner för anpassade inläggs-typer. Även plugin:et User Role Editor lägger till sin egen uppsättning av anpassade funktioner.
  3. Till höger hittar du alla funktioner som anges. Eftersom jag har valt gruppen Alla kan jag se alla funktioner. Du kan dock filtrera bort detta genom att klicka på en grupp till vänster. Du kan även markera alternativet Endast beviljad högst upp för att dölja alla funktioner som inte används av någon användarroll.
  4. Du kan även lägga till roll, byta namn på roll, lägga till funktioner och Ta bort roll härifrån. Längst ned hittar du ytterligare ett alternativ för att dölja administratörsfältet för användarrollen.
Visa funktioner i läsbar form
Visa funktioner i läsbar form

Om du vill anpassa en användarroll markerar eller avmarkerar du de funktioner du vill ha och klickar på knappen Uppdatera för att spara ändringarna. Så enkelt är det.

Lägga till en ny roll i Användarroll-redigeraren
Lägga till en ny roll i Användarroll-redigeraren

Klicka på knappen Lägg till roll om du vill skapa en ny roll. Du kan skapa en roll från grunden eller duplicera en befintlig roll med alternativet skapa kopia av-listrutan.

Byt enkelt namn på
Byt enkelt namn på ”Visa rollens namn”

Du kan även byta namn på rollen genom att klicka på knappen Byt namn på roll. Du kan dock inte ändra dess roll-ID (eller Rollnamn). En lösning är att duplicera den roll vars ID du vill ändra och sedan ta bort den ursprungliga rollen.

Lägga till en ny funktion i Redigeraren för användarroll
Lägga till en ny funktion i Redigeraren för användarroll

Du kan lägga till nya funktioner genom att klicka på knappen Lägg till kapacitet.

Ta enkelt bort otilldelade användarroller
Ta enkelt bort otilldelade användarroller

Om du klickar på knappen Ta bort roller kan du ta bort anpassade roller som du inte har tilldelat någon användare.

Obs: Användarrollredigeraren tillåter inte att du tar bort WordPress inbyggda roller eller funktioner. Du kan inte heller ta bort någon anpassad roll om den tilldelas någon användare, eller någon anpassad funktion om den tilldelas någon icke-administratörsroll.

Knappen Ta bort kapacitet i Redigeraren för användarroll
Knappen Ta bort kapacitet i Redigeraren för användarroll

Du bör notera att knappen Ta bort kapacitet bara visas om någon funktion inte tilldelas icke-administratörer. Annars är den dold.

Du kan även tilldela flera roller till samma användare eller strunta i att ge dem en roll.

Befria användaren från valfri roll
Befria användaren från valfri roll

Om du vill tilldela en användare flera roller måste du gå till panelen Användare på instrumentpanelen och sedan klicka på länken Funktioner som du ser nedan när du håller muspekaren över användarnamnet.

Tilldela flera roller till samma användare
Tilldela flera roller till samma användare

Om du går till Inställningar > Användarroll-redigerare  i administratörs-instrumentpanelen hittar du även ytterligare alternativ för plugin-program för användarroll-redigeraren.

Fliken Allmänna alternativ för Redigeraren för användarroll
Fliken Allmänna alternativ för Redigeraren för användarroll

Här kan du ändra standardinställningarna för plugin-programmet, installera ytterligare moduler, ändra standardrollen som tilldelats nya användare och till och med återställa användarroller och funktioner till standardtillståndet.

 Ytterligare moduler hjälper dig att utöka funktionerna i Användarroll-redigeraren
Ytterligare moduler hjälper dig att utöka funktionerna i Användarroll-redigeraren
Ange standardroll för nya användare
Ange standardroll för nya användare
Återställa alla användarroller och funktioner till standardtillståndet
Återställa alla användarroller och funktioner till standardtillståndet

Trots att den kostnadsfria versionen av User Role Editor är mer än tillräckligt för de flesta användningsfall, innehåller dess premium-version ännu fler funktioner, inklusive stöd för att hantera roller och funktioner i inställningarna för WordPress Multisidor.

Members by MemberPress

'Members' WordPress-pluginet av MemberPress
’Members’ WordPress-pluginet av MemberPress

Members är ett medlemskapsfokuserat WordPress-plugin för användarroller och funktioner. Det lanserades ursprungligen som ett enkelt plugin för användar- roller och funktioner, men är numera inriktat mot medlemskaps-funktioner.

Panelen
Panelen ”Roller” i Members

När du har installerat och aktiverat plugin-programmet kan du visa alla roller som är tillgängliga på din webbplats genom att gå till Members > Roller  på instrumentpanelen.

Medlemmar tillåter dig att ta bort alla roller, inklusive inbyggda WordPress-roller, med undantag för administratör och standardroll. Du kan även redigera och klona  roller samt lista alla användare som tilldelats en viss roll.

Panelen Redigera roll i Members
Panelen Redigera roll i Members

På panelen Redigera roll kan du bevilja eller uttryckligen neka funktioner till en viss roll genom att markera och avmarkera de relevanta kryssrutorna. Du kan även lägga till en anpassad funktion i rollen härifrån.

Panelen Lägg till ny roll i Members
Panelen Lägg till ny roll i Members

Om du klickar på länken Lägg till ny roll kommer du till en liknande skärm där du kan skapa en ny roll genom att ge den ett visningsnamn, ett id och dess uppsättning av funktioner.

Panelen
Panelen ”Allmänna inställningar” i Members

Precis som med Redigeraren för användarroll kan du använda Members för att tilldela användare flera roller. Du kan även ange innehållsbehörigheter för att begränsa innehåll till användare med endast en viss roll.

Du kan även aktivera läget
Du kan även aktivera läget ”Privat webbplats” i Members

Du kan ställa in din webbplats och dess flöde så att det är privat. Dessutom kan du begränsa åtkomsten till WordPress REST API till utomstående genom att genomdriva autentisering.

Olika tillägg för Members-pluginet
Olika tillägg för Members-pluginet

Members skiljer sig från andra plugins för roller och funktioner med sina fantastiska tillägg. De hjälper dig att lägga till en mängd nya funktioner till din webbplats, exempelvis användarsekretess och hantering av personuppgifter (GDPR), tillägg av funktioner relaterade till taggar och kategorier, upprättande av rollhierarki med mera.

Members integreras med populära WordPress-plugins
Members integreras med populära WordPress-plugins

Du kan sömlöst integrera Members med många populära WordPress plugins. Du kan exempelvis använda det för att skapa och hantera anpassade funktioner för pluginet Advance Custom Fields (ACF). Några andra plugins som det integrerar med är  Easy Digital Nedladdningar, GiveWP, Meta Box och WooCommerce.

Medlemskapsfokuserade tillägg för medlemmar (betalningar, prenumerationer, e-postmarknadsföring och avancerat innehållsskydd) är endast tillgängliga i premiumversionen.

WPFront User Role Editor

'WPFront User Role Editor'-pluginet
’WPFront User Role Editor’-pluginet

WPFront User Role Editor hjälper dig att skapa, redigera eller ta bort användarroller och funktioner på din WordPress-webbplats. Dess funktionsuppsättning är som hos de plugins vi diskuterat tidigare, men det finns dock två enastående funktioner.

Migrera alla användare från en roll till en annan
Migrera alla användare från en roll till en annan

När du har installerat och aktiverat WPFront User Role Editor kan du gå till Användare > Tilldela / migrera-skärmen i administratörs-instrumentpanelen och migrera alla användare som tillhör en viss användarroll till en annan. Du kan till och med tilldela sekundära roller till användarna.

Om du måste migrera många användare på din webbplats från en roll till en annan, kommer den här funktionen att kännas väldigt välkommen.

Inställningsskärmen
Inställningsskärmen ”Logga in omdirigering” i WPFront´s användarroll-redigerare

En annan funktion som är väldigt användbar hos WPFront User Role Editor är den rollbaserade Login Redirect. Du kan exempelvis omdirigera användare med rollen Redaktör till sidan Inlägg när de har loggat in. Du har även möjlighet att blockera dem från att komma åt  /wp-admin-sidan  och visa verktygsfältet på klientdelen.

Advanced Access Manager

'Advanced Access Manager'-pluginet
’Advanced Access Manager’-pluginet

Advanced Access Manager (AAM) är ett kraftfullt WordPress-plugin som låter dig styra nästan varje aspekt av din webbplats. Det innehåller över 200 olika funktioner och är utformat för avancerade WordPress-användare som vet hur roller och funktioner fungerar.

Jämfört med de plugins som anges ovan har AAM många fler funktioner. Men eftersom detta är ett utvecklar-fokuserat plugin, är det inte så enkelt att använda för nybörjare eller mellan-kompetenta användare.

 Huvud-instrumentpanelen i Advanced Access Manager
Huvud-instrumentpanelen i Advanced Access Manager

Du kan dela upp AAM:s huvud-instrumentpanel i fyra olika delar. Jag har numrerat dem i bilden ovan med en översikt nedan.

  1. I det översta området nämns det aktuella ”ämnet” som övervägs. Här är det Roll: Administratör, men det kan vara en viss användare, en anonym besökare eller en standardinställning för alla.
  2. Området under motivet är huvudpanelen där du har alla inställningar för att hantera åtkomst till olika saker på din webbplats för ämnet.
  3. Det tredje området är Användar-/rollhanteraren. Med hjälp av ikonerna med flikar kan du välja vad du vill hantera. Är det en användarroll, en viss användare, en anonym besökare eller standardåtkomstbeteende för alla?
  4. I det fjärde området kan du hantera AAM inställningar, installera dess premium-tillägg och kontakta support.
Panelen Inställningar i Advanced Access Manager
Panelen Inställningar i Advanced Access Manager

AAM organiserar sina inställningar i 5 grupper baserat på beteende och användning.

  • Inställningarna för Tjänster visar alla AAM:s moduler som du kan aktivera eller inaktivera. Genom att läsa in modulerna selektivt kan du hålla din webbplats optimerad.
  • I Kärninställnings-området kan du aktivera eller inaktivera några av AAM: s och WordPress kärnfunktioner.
  • Innehållsinställningarna relaterar till webbplatsens innehåll (t.ex. inlägg, sidor, anpassade inläggstyper).
  • Avsnittet Säkerhetsinställningar innehåller inställningar för AAM:s säkra inloggningsfunktion. Från och med nu finns det bara två inställningar tillgängliga:  Brute Force Lockout  One Session Per User.
  • ConfigPress är en intressant funktion som låter dig ändra konfigurationen av AAM plugin med INI-baserad kod.
Panelen Tillägg i Advanced Access Manager
Panelen Tillägg i Advanced Access Manager

AAM är ett utvecklar-orienterat plugin som går utöver enbart användarroller och funktioner. Det ger dig detaljerad kontroll över vad varje roll kan eller inte kan göra på din webbplats.

Installera en
Installera en ”åtkomstprincip” för din webbplats för att skydda den

Du kan använda AAM för att ange en åtkomst- och säkerhetspolicy för din webbplats. Den definierar vilken roll som kan komma åt olika resurser på din webbplats, samt under vilka villkor,. Om du vill komma igång direkt kan du installera en princip för installation av åtkomst från AAM Access Policy Hub.

 Widgeten
Widgeten ”AAM Secure Login” för att lägga till ett inloggningsformulär för klientdel

Med AAM kan du skapa tillfälliga användarkonton och roller. Det är ett säkert sätt att dela ett konto med externa resurser. Tillfälliga användarkonton upphör att gälla efter det datum och den tid du har angett. Med tillfälliga roller kommer användaren att fråntas den rollen efter den angivna perioden.

Vi hinner tyvärr inte täcka samtliga av AAM´s funktioner i den här artikeln. Du kan läsa Dokumentationen Advanced Access Manager om du vill för veta mer om alla dess omfattande funktioner.

Användaråtkomsthanteraren  är ett anständigt alternativ till Advanced Access Manager, även om det har färre funktioner och inte uppdateras lika ofta.

User Switching

WordPress-pluginet
WordPress-pluginet ”User Switching”

User Switching gör att du kan byta mellan olika WordPress-användarkonton med bara ett enda klick. Om du testar många användarroller och funktioner, kan detta plugin hjälpa dig att spara mycket tid. User Switching använder WordPress inbyggda cookie autentiseringssystem för att komma ihåg de konton (s) du har bytt från, så att du kan växla tillbaka till dem omedelbart.

När du har installerat och aktiverat plugin-programmet besöker du menyn Användare på instrumentpanelen. Du ser en Switch To-länk för varje användare. Om du klickar på det här växlar du till den användare du vill använda.

Klicka på länken
Klicka på länken ”Växla till” för att växla till den användare du vill ha

Du kan växla tillbaka till ditt ursprungliga konto genom att klicka på Växla tillbaka för att länka i instrumentpanelen eller på skärmen för användarprofiler.

Du kan enkelt växla tillbaka till ditt ursprungliga konto
Du kan enkelt växla tillbaka till ditt ursprungliga konto

Du kan även stänga av ditt administratörskonto tillfälligt för att se hur fronten ser ut för besökarna.

Slå på och stäng av ditt konto med ett enda klick
Slå på och stäng av ditt konto med ett enda klick

Som en säkerhetsåtgärd kan endast användare som har möjlighet att redigera användare byta användarkonton. Som standard är det bara administratörer som har den här funktionen i en singel-installation i WordPress. Endast Super-administratörer har den här funktionen i ett Multisides-nätverk.

Om du vill förenkla bytet av användare ytterligare kan du installera tillägget Administrationsbyte för administrationsfältet så att länken User Switching visas i administratörsfältet.

 Lägga till länken
Lägga till länken ”User Switching” i administrationsfältet

View Admin As

WordPress-pluginet
WordPress-pluginet ”View Admin As”

View Admin As är ett avancerat plugin för byte av användare som även innehåller roll och kapacitets-manager. Till skillnad från plugin-programmet User Switching behöver du inte installera ett tillägg för att lägga till menyn för att byta användare i administrationsfältet. View admin lägger till alla dess huvudmenyalternativ i administrationsfältet som standard.

View As Admins meny
View As Admins meny

Du kan växla mellan befintliga användare eller roller även om det inte finns någon användare med dessa roller. Om du klickar på länken Besökare tar du dig till webbplatsens frontsida där du kan testa webbplatsfunktionen som en vanlig användare utan att lämna webbläsarens flik.

View Admin As låter dig tillfälligt ändra dina egna funktioner. Du förlorar ändå inte tillgången till dina huvudsakliga funktioner.

Anpassa funktionerna tillfälligt för din nuvarande användare
Anpassa funktionerna tillfälligt för din nuvarande användare

När du har bytt till ett användarkonto kan du redigera deras skärminställningar och inställningar direkt från menyn. Du kan även byta språk på framsidan och bakdelen separat.

Du är inte begränsad till en enda vy-typ eftersom du kan kombinera de olika alternativen och tillämpa dem alla samtidigt.

View admin As levereras med två valfria moduler som du kan aktivera om det behövs.

Inställningar för View admin As och valfria moduler
Inställningar för View admin As och valfria moduler

Den första modulen lägger till funktionen standardroll-inställningar som gör att du kan ange standardskärminställningar för alla roller. Du kan använda dessa standardvärden på en roll, en enskild användare eller framtida nya användare.

Den andra modulen aktiverar rollhanterarens funktioner. Alla ändringar som du gör för roller och funktioner med den här modulen är permanenta. Till skillnad från andra plugin-program för rollredigerare kan du i den här modulen ta bort rollen som tilldelats en användare genom att automatiskt migrera dem till en annan roll.

Du kan läsa Visa dokumentation för View Admin As om du vill veta mer om dess omfattande funktioner.

.

MyKinsta´s användarroller

Med MyKinsta´s fleranvändarfunktion kan under samma konto du skapa och hantera flera användare under samma konto genom att ge dem tillgång till unika aspekter av ditt Kinsta-konto eller specifika webbplatser som finns hos Kinsta.

Det finns olika roller för dig att välja mellan för att anpassa användaråtkomst enligt dina behov.

Skärmen Användarhantering på instrumentpanelen i MyKinsta
Skärmen Användarhantering på instrumentpanelen i MyKinsta

Den första användaren får rollen Företagsägare  som standard. Det är den mest kraftfulla rollen och inkluderar alla funktioner även för en företagsadministratör.

Det kan endast finnas en företagsägare i taget, men om det behövs kan du överföra rollen till en annan företagsadministratör Genom att göra detta kommer du även att överföra äganderätten till ditt Kinsta-konto till den nya företagsägaren.

Endast företagets ägare kan begära att Kinsta tar bort kontot.

Du kan dela upp de andra användarrollerna i två huvudrollkategorier:

  • Företagsnivå
  • Webbplatsnivå

Roller på företagsnivå ger användarna åtkomst till information på företagsnivå om Kinsta-kontot, medan roller på webbplatsnivå endast ger användarna åtkomst till specifika webbplatser som tilldelats dem. När du bjuder in en ny användare eller ändrar en befintlig användare är det första valet du måste göra att ge dem åtkomst till företag eller webbplats.

Välja rolltyp när du bjuder in en användare till MyKinsta
Välja rolltyp när du bjuder in en användare till MyKinsta

Roller på företagsnivå

Företagsadministratör

Instrumentpanelen
Instrumentpanelen ”Företagsadministratör” i MyKinsta

Rollen Företagsadministratör ger den högsta åtkomstnivån i MyKinsta. Det ger användaren fullständig kontroll över Kinsta-kontot och alla dess webbplatser. Du bör bara ge den här rollen till användare som du litar på.

Företagets utvecklare

Instrumentpanelen
Instrumentpanelen ”Företagsutvecklare” i MyKinsta

Rollen Företagsutvecklare  ger åtkomst till hantering av alla webbplatser, inklusive att ta bort dem. Eftersom MyKinsta´s användarroller är hierarkibaserade kan en företagsutvecklare även hantera användare på webbplatsnivå. En företagsutvecklare kan dock inte komma åt företagsinställningar eller faktureringsuppgifter.

Företagsfakturering

 Instrumentpanelen
Instrumentpanelen ”Företagsfakturering” i MyKinsta

Rollen Företagsfakturering  ger endast åtkomst för att visa faktureringsinformation och företagsinställningar. Man får inte tillgång till några webbplatser. Användare med rollen Företagsfakturering kan kontrollera fakturor, aktivera automatiska fakturameddelanden samt ändra företagsinformation som adress och kontaktinformation.

Roller på webbplatsnivå

Webbplatsadministratör

Instrumentpanelen
Instrumentpanelen ”Webbplatsadministratör” i MyKinsta

Rollen Webbplatsadministratör har fullständig åtkomst till en viss webbplats, inklusive kontroll över alla miljöer som är kopplade till den webbplatsen. De kan dock inte ta bort en webbplats från företagskontot. Du kan göra så att samma användare är webbplatsadministratör för flera webbplatser.

Webbplatsutvecklare

 Instrumentpanelen
Instrumentpanelen ”Webbplatsutvecklare” i MyKinsta

Rollen Webbplatsutvecklare har endast åtkomst till  iscensättnings-miljön för den tilldelade webbplatsen. De kan göra vad som helst i iscensättnings-miljön, men de kan inte ta bort den eller omvandla den till live. Precis som med webbplatsadministratörer kan du göra så att samma användare är webbplatsutvecklare för flera webbplatser.

Webbplatsutvecklare kan komma åt iscensättnings-miljön för den tilldelade webbplatsen
Webbplatsutvecklare kan komma åt iscensättnings-miljön för den tilldelade webbplatsen

Du kan även se att webbplatsutvecklare inte har tillgång till funktioner för analys, användarhantering och aktivitetslogg i instrumentpanelen i MyKinsta.

MyKinsta´s användarroller vs WordPress användarroller

Det finns ingen överlappning mellan MyKinsta´s och WordPress användarroller. Du kan använda dem båda oberoende av varandra.

Som ägare av ett Kinsta-konto hjälper funktionen för fleranvändarroller i MyKinsta dig att hantera ett team av chefer, utvecklare och revisorer med lätthet. Det gör det superenkelt för webbutvecklings-agenturer att hantera alla sina kunders webbplatser från en enda, kraftfull instrumentpanel.

Sammanfattning

WordPress roller och funktioner är de grundläggande begreppen bakom hantering av användaråtkomst. De hjälper dig att kontrollera vilka åtgärder alla användare på din webbplats kan utföra. De används även av många plugins och teman för att lägga till mycket användbara funktioner till WordPress kärna.

WordPress levereras med sin egen uppsättning roller och funktioner, men om du behöver mer flexibilitet kan du anpassa dem eller skapa dina egna roller och funktioner. Du kan göra detta med din egen kod eller genom att använda ett plugin från tredje part.

Att förstå vilka roller och funktioner som finns, och lära sig att hantera dem, är ett avgörande steg mot att behärska WordPress. Kom igång med detta idag!

Salman Ravoof

Salman Ravoof är en självlärd webbutvecklare, författare, skapare och en stor beundrare av fri och öppen källkod (FOSS). Förutom teknik är han intresserad av vetenskap, filosofi, fotografi, konst, katter och mat. Lär dig mer om honom på hans hemsida och kontakta Salman på X.