Un sito Web WordPress è composto da tre elementi principali:
wp-content
directory che include temi, plugin e uploadLa maggior parte degli utenti di WordPress non entra mai in contatto diretto con il database e potrebbe anche non essere consapevole del fatto che sta lavorando costantemente per popolare il proprio sito. Quando WordPress serve qualsiasi tipo di pagina, sia che si tratti della home page, di un singolo post o di una pagina o di un archivio, sta accedendo al database per visualizzare il contenuto che gli editor e gli amministratori hanno aggiunto al sito.
In questa serie di tutorial vedrò in dettaglio i diversi aspetti del database di WordPress. La serie avrà nove parti, che coprono quanto segue:
In questa introduzione, darò una panoramica delle tabelle del database e in che modo si relazionano ai tipi di contenuto con cui potresti essere abituato a lavorare in WordPress e identifica cosa è memorizzato dove.
Poiché le tabelle del database vengono utilizzate per archiviare il contenuto, prima di poterle comprendere è necessario comprendere il contenuto. Esistono numerosi tipi di contenuti in WordPress:
Questi tipi di contenuto hanno quindi dati ad essi allegati:
Oltre a questi, ci sono altri tipi di contenuti che sono memorizzati in modo diverso:
Tutti questi tipi di contenuti sono memorizzati da qualche parte nel database (o occasionalmente in temi o file plugin come mostrerò). Possono avere una voce propria o potrebbero far parte di un'altra voce (ad esempio, contenuto in streaming codificato in un post). Possono anche essere collegati a dati in altre tabelle. Ad esempio, i dati relativi ai post saranno collegati ai dati sugli utenti in modo che WordPress sappia chi ha scritto quali post.
WordPress utilizza una serie di tabelle di database con relazioni tra di esse per ridurre al minimo la quantità di dati che devono essere memorizzati - questo crea relazioni uno-a-molti. Ciò significa che, ad esempio, un utente può avere molti post che è stato creato in relazione al proprio record utente. Risparmia spazio - se WordPress memorizza tutti i dati dell'utente per ciascun utente rispetto a ogni post di loro creazione, ciò significherebbe un sacco di dati ripetuti e molto spazio.
Lo schema seguente è tratto dal codice WordPress e mostra le tabelle del database e il modo in cui sono collegate:
La maggior parte delle tabelle è collegata a una o più tabelle tramite un campo. Questo campo sarà un identificatore univoco per ogni record come post_id
. Questo è mostrato in maggior dettaglio in questa tabella:
tavolo | Dati memorizzati | Collegato a |
---|---|---|
wp_posts | Post, pagine, allegati, revisioni e voci del menu di navigazione | wp_postmeta (attraverso post_id )wp_term_relationships (attraverso post_id ) |
wp_postmeta | Metadati per ogni post | wp_posts (attraverso post_id ) |
wp_comments | Commenti | wp_posts (attraverso post_id ) |
wp_commentmeta | Metadati per ogni commento | wp_comments (attraverso COMMENT_ID ) |
wp_term_relationships | Rapporti tra posti e tassonomie | wp_posts (attraverso post_id )wp_term_taxonomy (attraverso term_taxonomy_id ) |
wp_term_taxonomy | Tassonomie (comprese categorie e tag) | wp_term_relationships (attraverso term_taxonomy_id ) |
wp_terms | Le tue categorie e tag e i termini assegnati alle tassonomie personalizzate | wp_term_taxonomy (attraverso term_id ) |
wp_links | I link nel tuo blogroll (se ne hai ancora uno) | wp_term_relationships (attraverso link_id ) |
wp_users | utenti | wp_posts (attraverso post_author ) |
wp_user_meta | Metadati per ciascun utente | wp_users (attraverso ID utente ) |
wp_options | Impostazioni e opzioni del sito (impostate tramite le schermate Impostazioni e tramite plugin e temi) | n / A |
Vale la pena notare alcune cose:
wp_
prefisso di default. Puoi cambiare questo quando configuri il tuo sito ma non ha molto valore.wp_posts
tabella, dove verrà archiviata la maggior parte dei tuoi dati. Ciò mantiene (quasi) tutto il resto insieme.wp_options
tavolo. Questa tabella memorizza i dati sul sito e l'installazione di WordPress, che non è correlata ai dati relativi a post o utenti.wp_users
e wp_comments
le tabelle non sono collegate - sebbene sia possibile specificare che gli utenti debbano essere registrati per commentare, WordPress non memorizza i dati sui commenti nei confronti di ciascun utente che li ha pubblicati. Dopo aver esaminato i tipi di contenuto in WordPress e le tabelle del database utilizzate per memorizzarli, può essere utile abbinare i due. La tabella seguente mostra quale tabella di database viene utilizzata per memorizzare ogni tipo di contenuto.
Tipo di contenuto | Table (s) |
---|---|
messaggi | wp_posts |
pagine | wp_posts |
tipi di messaggi personalizzati | wp_posts |
allegati | wp_posts |
link | wp_links |
voci del menu di navigazione | wp_posts |
categorie | wp_terms |
tag | wp_terms |
tassonomie personalizzate | wp_term_taxonomy |
termini di tassonomia | wp_terms |
post metadati | wp_post_meta |
widgets | wp_options |
opzioni | wp_options |
utenti | wp_users |
contenuto hardcoded | wp_posts (se aggiunto ai post)wp_options (se aggiunto ai widget)File tematici e plug-in (se codificati) |
contenuto di terze parti | wp_posts (se aggiunto ai post)wp_options (se aggiunto tramite widget o plug-in)File tematici e plug-in (se codificati) |
Potresti aver notato che non tutte le tabelle del database sono incluse in quella tabella. Questo perché alcuni di questi sono usati per memorizzare i metadati e altri sono usati per memorizzare le relazioni, che saranno trattate più in dettaglio più avanti in questa serie.
Si spera che ora abbia una migliore comprensione di come e dove WordPress memorizza diversi tipi di dati utilizzando la struttura del database. Questa serie esaminerà tutti gli aspetti di questo in modo più dettagliato.
Nella parte successiva, esaminerò le relazioni tra i dati e analizzerò in dettaglio il modo in cui le tabelle specifiche sono collegate e in che modo alcuni vengono utilizzate esclusivamente per archiviare dati sulle relazioni.