În primele două părți ale acestei serii am introdus baza de date WordPress și structura acesteia și am arătat cum sunt gestionate relațiile dintre diferite tipuri de conținut.
Aici, voi examina în detaliu tipurile de conținut și descriu diferitele tipuri de conținut din WordPress și modul în care interacționează.
Când ne gândim la conținut în WordPress, ne gândim în mod normal la posturi și pagini. Dar lucrurile nu sunt atât de simple. WordPress utilizează o serie de tipuri de conținut, iar postările și paginile sunt doar două exemple ale uneia dintre acestea.
Înțelegerea tipurilor de conținut, a modului în care sunt stocate și a interacțiunii dintre ele vă va ajuta să obțineți o apăsare pe WordPress la un nivel mai avansat și să scrieți interogări avansate pentru temele și pluginurile dvs..
Hai să aruncăm o privire!
Există patru tipuri de conținut în WordPress:
Multe dintre ele se comportă destul de asemănător, așa cum vom vedea.
Posturile sunt cel mai important tip de conținut din WordPress. Terminologia din jurul lor poate fi confuză, deoarece poșta este folosită pentru a descrie ceva în wp_posts
dar este folosit și pentru a descrie un anumit tip de post. Adăugarea următoarelor la o interogare poate părea inutilă, dar are sens!
'post_type' => 'post'
Există cinci tipuri implicite de posturi construite în WordPress, acestea sunt:
Așa cum am explicat în tutorialul anterior al acestei serii, care acoperă relațiile dintre date, posturile pot fi legate între ele. Aceasta este, în general, utilizată pentru a defini ce mesaj sau pagină este atașat unui atașament și care este pagina de bază a altei pagini.
Primele trei tipuri de posturi vor fi cunoscute dezvoltatorilor WordPress ca posturi, dar este mai puțin evident că ultimele două posturi sunt. Fiecare revizie este salvată în wp_posts
tabel cu postul la care se referă ca părinte (utilizând post_parent
câmpul) și elementele din meniul de navigare sunt salvate ca postări și apoi sunt transmise printr-o interogare atunci când meniul este afișat. Acesta este motivul pentru care meniurile de navigare pot dispărea brusc dacă utilizați pre_get_posts ()
filtru incorect!
Puteți adăuga cât mai multe tipuri de posturi suplimentare de care aveți nevoie pentru site-ul dvs., creând tipuri personalizate de postări. Acestea sunt doar tipuri suplimentare de posturi care se comportă la fel ca postările, paginile sau atașamentele, în funcție de modul în care le-ați configurat la înregistrarea tipului de postare.
Diagrama de mai jos arată wp_posts
tabelul și tabelele cu care se referă:
Comentariile sunt stocate în tabelul propriilor baze de date, wp_comments
. Ei lucrează într-un mod similar posturilor în care fiecare poate avea metadate atașate la acesta prin intermediul wp_commentmeta
tabel, dar au un conținut diferit și sunt necesare câmpuri diferite pentru tabelul lor.
Comentariile vor fi legate de posturi printr-o relație one-to-many și sunt, de asemenea, legate între ele folosind comment_parent
câmp - aceasta este utilizată pentru a identifica comentariile care sunt răspunsuri la alte comentarii. Ele pot fi, de asemenea, opțional legate de wp_users
dacă sunt realizate de utilizatorii conectați.
Diagrama arată wp_comments
tabelul și relațiile sale:
Utilizatorii au propriul tabel, wp_users
, și au, de asemenea, metadate stocate în wp_usermeta
masa. La prima vedere, utilizatorii pot părea a fi un tip de conținut foarte diferit la postări, dar aceștia sunt mai asemănăți decât credeți - pot fi interogați și afișați într-o arhivă de autor și au conținut sub formă de date biografice despre utilizatori. Acest conținut este structurat în mod diferit de postări, linkuri și comentarii, motiv pentru care utilizatorii au nevoie de propriul tabel.
Diagrama arată wp_users
tabelul și relațiile sale:
Veți afla mai multe despre datele utilizatorului și despre modul în care se referă la alte tabele într-o parte ulterioară a acestei serii.
Tipul conținutului final este linkul. Toate acestea au fost eliminate de WordPress, iar blogroll-ul nu mai este disponibil în mod implicit de la versiunea 3.5.
Linkurile funcționează într-un mod similar postărilor prin faptul că au conținut și pot fi atribuite termeni de taxonomie. Cu toate acestea, ele diferă de posturi prin faptul că au câmpuri destul de diferite, utilizate pentru a stoca date despre ținta de legătură, descrierea acesteia și așa mai departe. Nu sunt legate de utilizatori, deci nu li se poate atribui un autor și, de asemenea, nu au un câmp pentru a identifica un părinte, astfel încât nu pot fi atașați la o postare - dar puteți utiliza taxonomii pentru a le include în paginile de arhivă.
wp_links
tabelul și relațiile acestuia cu alte tabele sunt prezentate mai jos:
Dintre cele patru tipuri de conținut acoperite mai sus, trei pot avea meta date care le sunt atribuite:
Mă uit la meta date mai detaliat în ultima serie din această serie și vă arăt cum este stocat.
După cum am explorat, WordPress folosește o varietate de tipuri de conținut pentru a stoca date și relațiile dintre acestea. Tipurile de conținut stocate în bază de date nu se limitează la postări și pagini, ci includ și propriile tipuri de postări personalizate și alte tipuri de conținut, cum ar fi atașamentele, revizuirile și elementele de meniu de navigare.
Înțelegerea a ceea ce este fiecare dintre acestea și modul în care funcționează, precum și asemănările și diferențele dintre ele vă vor ajuta să dezvoltați mai multe teme și pluginuri WordPress.