Come tanti esempi di terminologia di WordPress, il termine "post" può essere fonte di confusione, in quanto fa riferimento a un tipo di post e a un tipo di contenuto archiviato in una tabella di database specifica.
Qui, chiarirò la differenza tra i due e osserverò i tipi di post in dettaglio.
Nella parte precedente di questa serie, ho esaminato i diversi tipi di contenuto in WordPress, che sono memorizzati in un numero di diverse tabelle di database. Questi sono:
In questo tutorial esaminerò i post in modo più dettagliato e delineamo i tipi di post, le relazioni tra loro e il modo in cui la comprensione di tutto questo può aiutarti a lavorare con loro.
Innanzitutto, inizierò definendo i post e in che modo si differenziano dai post (sì, è confuso e l'aggiunta di una lettera maiuscola non rende le cose molto più chiare!):
inviare
è un elemento di contenuto memorizzato in wp_posts
tavolo. Ognuno ha un post_type
assegnato ad esso, che potrebbe essere inviare
, pagina
o qualcos'altro.Il wp_posts
la tabella è mostrata nell'immagine qui sotto.
Ha senso? In caso contrario, continua a leggere, tutto diventerà chiaro!
WordPress ha cinque tipi di post integrati:
Oltre a questo puoi aggiungere i tuoi tipi di post personalizzati usando il register_post_type ()
funzione, il che significa che l'installazione di WordPress può avere tutti i tipi di post che desideri. Ogni tipo di post ha lo stesso status dei tipi di post incorporati - occasionalmente ho sentito di persone che pensano che "tipo di post personalizzato" sia un tipo di post stesso. Non lo è!
Lo illustrerò con un esempio. Quando scrivi una query personalizzata per i post, devi aggiungere quanto segue agli argomenti della tua query:
'post_type' => 'post'
Ma se hai creato un tipo di messaggio personalizzato chiamato my_post_type
, lo interrogeresti con il seguente:
'post_type' => 'my_post_type'
Puoi usare questo post_type
argomento per interrogare qualsiasi tipo di messaggio, e in effetti è possibile interrogare più tipi di post, se lo si desidera. Non entrerò nei dettagli in quanto è al di fuori dello scopo di questo tutorial, ma puoi leggere di più sulla pagina del codice WordPress per WP_Query
.
Diamo uno sguardo veloce a ciascuno dei tipi di post integrati, a come sono simili tra loro e in che modo differiscono. Si noti che nella tabella seguente, utilizzo il termine post in senso generico per descrivere il contenuto di tutti i tipi di post.
Post Type | Usato per | Gli appunti |
---|---|---|
Inviare | Post del blog o simili | Tipo di post principale - elencato nella pagina principale del blog |
Pagina | Pagine statiche | Progettato per essere esposto singolarmente - generalmente non utilizzato negli archivi (anche se possono essere). Le pagine possono avere genitori, che sono definiti usando il post_parent campo nel record per la pagina figlio.Ogni pagina può avere più figli ma solo un genitore. |
attaccamento | Documenti e immagini (che possono o meno essere allegati a un post) | I media caricati su un post avranno l'ID di quel post nel suo post_parent campo. Le immagini caricate tramite la schermata Media nella dashboard avranno quel campo vuoto. Il guid campo è usato per memorizzare l'url del file multimediale. |
Revisione | Revisioni individuali per ogni post | Ogni revisione è allegata a un post: il ID di quel post verranno archiviati nella revisione post_parent campo. |
Elementi del menu di navigazione | Singoli elementi del menu di navigazione | Ogni menu conterrà un numero di elementi di navigazione, ognuno dei quali è memorizzato come post. Il menu_order campo viene utilizzato per memorizzare informazioni sull'ordine delle voci del menu di navigazione e dati aggiuntivi come la voce di menu target e padre vengono memorizzati come record nel wp_postmeta tavolo. |
I tipi di post personalizzati possono essere registrati per comportarsi allo stesso modo dei tipi di post integrati (ad eccezione di attaccamento
), ma il valore predefinito è inviare
. Ciascuno dei tipi di post ha la sua interfaccia.
Come puoi vedere dalla tabella sopra, il post_parent
il campo è importante, poiché memorizza informazioni sulle relazioni tra diversi post. Questi includono:
Puoi usare il post_parent
campo in vari modi nelle vostre domande. Ad esempio, per eseguire una query per le pagine figlio di una determinata pagina, si utilizzerà quanto segue, dove ID
è l'ID della pagina madre:
'post_parent' => 'ID'
È possibile utilizzare una query simile per visualizzare gli allegati caricati su un determinato post, o in alternativa è possibile interrogare gli allegati senza alcun genitore (cioè quelli caricati direttamente sullo schermo multimediale nella dashboard).
Per fare ciò, dovresti usare il seguente argomento:
'post_parent' => '0'
È altamente improbabile che tu abbia mai bisogno di interrogare le revisioni, perché vuoi che i visitatori vedano i tuoi contenuti pubblicati.
Puoi anche usare post_parent_in
con una serie di ID per identificare i figli di una serie di post o pagine.
Capire il wp_posts
tabella e ciò che memorizza è una parte essenziale della comprensione del database di WordPress. Come hai visto, il wp_posts
la tabella viene utilizzata per archiviare i post, che include cinque tipi di post incorporati (incluso Post) e qualsiasi numero di tipi di post personalizzati aggiunti.
La tabella memorizza anche i dati sulle relazioni tra i post, nel post_parent
campo.