Förstå och arbeta med användardata i WordPress

WordPress lagrar användardata i wp_users bord, som är kopplat till wp_posts och wp_comments tabeller:

WordPress lagrar även användardata i två andra tabeller:

  • Ytterligare metadata om användare lagras i wp_usermeta tabell
  • Data om kommenterare som inte är inloggade lagras i wp_comments tabell.

I den här delen av min serie om data i WordPress ser jag på hur WordPress lagrar användardata och hur du kan komma åt den, med fokus på först på wp_users tabell.

Wp_users-tabellen

De wp_users Bordet lagrar all kärninformation om varje användare. Den har följande fält:

Fält Vad det lagrar anteckningar
ID
användar-ID
Auto genererade
användarnamn
Användarnamn
nödvändig
user_pass
Lösenord
automatiskt genererad om den inte tillhandahålls vid anmälan
user_nicename
smeknamn
automatiskt genererad om den inte skrivs in manuellt
user_email
e-postadress
nödvändig
user_url
hemsida
krävs inte
user_registered
Datum och tid användaren registrerade först
Auto genererade
user_activation_key
användaraktiveringsnyckel
Auto genererade
användarstatus
status lagrad som ett nummer - detta berättar WordPress om användaren har bekräftat registrering via e-post, till exempel. Det lagrar INTE användarroller.
Auto genererade
DISPLAY_NAME
offentligt visat namn
automatiskt genererad om den inte skrivs in manuellt

Som du kan se, allt utom ett fält (user_url) är antingen obligatoriska vid registrering eller kommer att genereras automatiskt.

Användar Meta Data

Förutom uppgifterna i wp_users, Det finns data som skapas för alla användare men lagras i wp_usermeta bord, till exempel roller och förmågor. Den här tabellen används också för att lagra ytterligare inställningar för att förbättra användarupplevelsen, såsom det valda administratörsfärgschemat och inställningar för adminraden och kontrollpanelen.

Det här är tabellen som du ska använda när du vill skapa ytterligare fält för användare via ditt tema eller plugin - du får aldrig lägga till fält i huvudmenyn wp_users tabell.

Varje post i wp_usermeta bordet har fyra fält:

  • ID - posten ID
  • användar ID - som är kopplad till wp_users
  • meta_key
  • meta_value

För att skapa en metadata för en ny användare använder du add_user_meta () fungera:

add_user_meta ($ user_id, $ meta_key, $ meta_value, $ unique);

Den fjärde parametern för denna funktion ($ unik) är valfritt och anger om värdet i meta_key Fältet bör vara unikt.

När du har lagt till metadata för användaren kan du skriva ut den på användarens författarsida med get_user_meta () eller skapa en lista över alla användare med ett givet värde för en angiven nyckel. 

Jag kommer att täcka detta sista alternativ i mer detalj i en senare handledning där jag undersöker metadata och taxonomier.

Förhållanden mellan användare och annat innehåll

Användare kan kopplas till två innehållstyper: inlägg och kommentarer. Vid inlägg kommer det alltid att finnas en användare, vem ska vara författaren. Relationen är mellan post_author fält i wp_posts och ID-fältet i wp_users.

Kommentarer har inte alltid en länk till wp_users tabell: det här skapas endast om kommentaren är en användare som är inloggad. Om så är fallet är länken mellan ID i wp_users och användar ID i wp_comments.

Om en kommenterare inte är en användare som är inloggad kommer deras detaljer att spelas in direkt till wp_comments bord med hjälp av COMMENT_AUTHOR, comment_author_email, comment_author_url och comment_author_IP fält.

Sammanfattning

Användare är grundläggande för en WordPress-installation. Utan dem har du ingen webbplatsadministratör och ingen författare att skapa innehåll. 

WordPress lagrar kärndata om användare i wp_users bord och använder också wp_usermeta tabell för ytterligare metadata. Det länkar även användardata till inlägg i wp_posts bord och till kommentarer i wp_comments tabell.