Nelle prime due parti di questa serie, ho introdotto il database di WordPress e la sua struttura e ho mostrato come vengono gestite le relazioni tra diversi tipi di contenuto.
Qui, esaminerò i tipi di contenuto in modo più dettagliato e descriverò i diversi tipi di contenuti in WordPress e il loro modo di interagire.
Quando pensiamo a contenuti in WordPress, normalmente pensiamo a post e pagine. Ma le cose non sono così semplici. WordPress utilizza un numero di tipi di contenuto, e post e pagine sono solo due esempi di uno di questi.
Comprendere i tipi di contenuto, il modo in cui sono archiviati e il modo in cui interagiscono tra loro ti aiuterà a familiarizzare con WordPress a un livello più avanzato ea scrivere query avanzate per temi e plug-in.
Diamo un'occhiata!
Ci sono quattro tipi di contenuti in WordPress:
Molti di questi si comportano in modo abbastanza simile, come vedremo.
I post sono il tipo di contenuto più importante in WordPress. La terminologia che li circonda può essere fonte di confusione in quanto post è usato per descrivere qualsiasi cosa nel wp_posts
tabella ma è anche usato per descrivere un particolare tipo di messaggio. Aggiungere quanto segue a una query può sembrare superfluo, ma ha senso!
'post_type' => 'post'
Esistono cinque tipi di post predefiniti incorporati in WordPress, questi sono:
Come ho spiegato nel precedente tutorial di questa serie, che copre le relazioni tra i dati, i post possono essere correlati tra loro. Questo è generalmente usato per definire quale post o pagina è allegato un allegato e quale pagina è il genitore di un'altra pagina.
I primi tre tipi di post saranno familiari agli sviluppatori di WordPress come post, ma è meno ovvio che gli ultimi due siano post. Ogni revisione è salvata nel wp_posts
tabella con il post che si riferisce a come suo genitore (utilizzando il post_parent
campo) e le voci del menu di navigazione vengono salvate come post e quindi inviate tramite una query quando viene visualizzato il menu. Questo è il motivo per cui i menu di navigazione possono improvvisamente scomparire se si utilizza il pre_get_posts ()
filtro in modo errato!
Puoi aggiungere tutti i tipi di post aggiuntivi di cui hai bisogno per il tuo sito, creando tipi di post personalizzati. Questi sono solo tipi di post aggiuntivi che si comportano allo stesso modo di post, pagine o allegati, a seconda di come li si imposta durante la registrazione del tipo di post.
Lo schema seguente mostra il wp_posts
tabella e le tabelle sono correlate a:
I commenti sono memorizzati nella propria tabella di database, wp_comments
. Funzionano in modo simile ai post in cui ciascuno può avere i metadati ad esso collegati tramite il wp_commentmeta
tabella, ma hanno contenuti diversi e quindi sono richiesti campi diversi per la loro tabella.
I commenti saranno collegati ai post tramite una relazione uno-a-molti e sono anche collegati tra loro usando il comment_parent
campo: viene utilizzato per identificare i commenti che rispondono ad altri commenti. Possono anche essere opzionalmente collegati al wp_users
tabella se sono creati dagli utenti che hanno effettuato l'accesso.
Il diagramma mostra il wp_comments
tavolo e le sue relazioni:
Gli utenti hanno il loro tavolo, wp_users
, e anche i metadati memorizzati nel wp_usermeta
tavolo. A prima vista, gli utenti potrebbero sembrare un tipo di contenuto molto diverso dai post, ma sono più simili di quanto si pensi - possono essere interrogati e pubblicati in un archivio di autori e hanno contenuti sotto forma di dati biografici sugli utenti. Questo contenuto è strutturato in modo molto diverso da post, link e commenti, motivo per cui gli utenti hanno bisogno della propria tabella.
Il diagramma mostra il wp_users
tavolo e le sue relazioni:
Imparerai di più sui dati dell'utente e su come si relaziona con altre tabelle in una parte successiva di questa serie.
Il tipo di contenuto finale è il collegamento. Questi sono stati eliminati da WordPress, e il blogroll non è più disponibile di default dalla versione 3.5.
I collegamenti funzionano in modo simile ai post in quanto hanno contenuto e possono avere termini di tassonomia assegnati a loro. Tuttavia sono diversi dai post in quanto hanno campi molto diversi, usati per memorizzare dati sul target del collegamento, la sua descrizione e così via. Non sono collegati agli utenti quindi non possono essere assegnati a un autore e non hanno nemmeno un campo per identificare un genitore, quindi non possono essere allegati a un post, ma puoi usare le tassonomie per includerli nelle pagine di archivio.
Il wp_links
tabella e le sue relazioni con altre tabelle sono mostrate di seguito:
Dei quattro tipi di contenuto sopra illustrati, a tre possono essere assegnati metadati:
Vedrò i metadati in maggiore dettaglio nel seguito di questa serie e mostrerò come è memorizzato.
Come abbiamo esplorato, WordPress utilizza una varietà di tipi di contenuto per memorizzare i dati e le relazioni tra di essi. I tipi di contenuti memorizzati nel database non sono limitati a post e pagine, ma includono anche i tipi di post personalizzati più altri tipi di contenuto come allegati, revisioni e voci di menu di navigazione.
Capire cosa è e come funziona, così come le somiglianze e le differenze tra loro, ti aiuterà a sviluppare temi e plugin WordPress più potenti.