O parte din ceea ce face WordPress un instrument puternic CMS este abilitatea de a utiliza wp_postmeta
tabel pentru a stoca câmpurile personalizate. Aceste câmpuri personalizate pot conține informații suplimentare, cum ar fi câmpurile SEO adăugate de un plugin SEO sau pot fi utilizate pentru a afișa conținut suplimentar front-end.
Prin adăugarea acestor informații suplimentare în câmpuri, puteți crea interogări personalizate pentru a organiza afișarea conținutului dvs. prin.
Învățarea de a lucra cu aceste date este o modalitate excelentă de a învăța concepte de bază ale PHP, inclusiv arhitecturi, bucle și obiecte. Pentru a deveni un maestru al meta datelor WordPress, trebuie să stăpânești matrice de tot felul.
În această serie de tutoriale, vă voi arăta diferite modalități de a lucra cu meta date post-WordPress și meta date de utilizator ca exemple concrete de lucru cu arhitecturi.
Veți învăța diferența dintre o matrice indexată și matricea asociativă, precum și modul în care puteți înțelege matricele multidimensionale.
Definiția cea mai tehnică a datelor post meta este orice informație stocată în wp_postmeta
masa. În mod implicit, nu este prea mult, dar oricând un plugin sau o temă adaugă un câmp particularizat, datele introduse în acel câmp vor fi salvate în wp_postmeta
masa.
Un bun exemplu ar fi câmpurile SEO pe care le adaugă un plugin SEO. De exemplu, gândiți-vă la o descriere post meta. Acest câmp este stocat în tabelul postmeta.
În plus, profilurile utilizatorilor din WordPress pot fi extinse cu câmpuri personalizate. Într-o relație care oglindește wp_posts
și wp_postmeta
, aceste câmpuri sunt stocate în wp_usermeta
tabel - nu wp_user
masa.
În această serie, nu vom discuta cum să adăugăm câmpuri personalizate în WordPress - acesta este propriul subiect în întregime. Câmpurile personalizate pot fi adăugate în editorul de posturi cu caseta meta "Câmpuri personalizate", prin implementarea lor directă într-un plugin sau temă sau prin utilizarea unui cadru specializat, cum ar fi Câmpurile personalizate sau Câmpurile personalizate avansate.
Din punct de vedere tehnic, post meta date este orice informație stocată în wp_postmeta
masa. Așa cum am menționat anterior, un bun exemplu de post meta date este domeniul de meta descripții care este introdus prin plugin-uri cum ar fi WordPress SEO.
WordPress ne oferă o varietate de moduri de a obține date meta pentru un post.
Putem obține doar un câmp folosind get_post_meta ()
prin specificarea acelui câmp. De exemplu, pentru a obține un câmp numit "foo" din postarea curentă în buclă am putea face get_post_meta (get_the_id (), "foo", adevărat);
.
Observați că am setat ultimul argument la Adevărat
. Acest argument numit "singur" determină dacă vrem să întoarcem o singură valoare sau o matrice de valori. Dacă vrem să obținem toate valorile postului într-o singură variabilă sau toate valorile din câmp.
Uneori vrem să construim o buclă întreagă în jurul meta-datelor, și aici se află WP_Query
este foarte util. WP_Query
ne permite să facem ceea ce se numește "interogare meta" în cazul în care interogăm postările bazate pe unul sau mai multe câmpuri meta și returnează postările care au valori care corespund unei anumite valori. Rezultatul este o colecție prin care putem face buclă.
De exemplu, imaginați-vă că avem un câmp numit "name_name" și am vrut să revenim la fiecare post în care se află domeniul numele autorului
a avut valoarea de valoare "J.R.R. Tolkien. WP_Query
ne permite să facem acest lucru cu ușurință - vom analiza această detaliere în cea de-a patra parte a acestei serii.
Postările nu sunt singurul tip de date care are date meta. De exemplu, știți toate domeniile care sunt disponibile în profilul de utilizator? Acestea sunt toate câmpurile meta, în loc să fie stocate în wp_postmeta
tabel, acestea sunt stocate în wp_usermeta
masa.
Ca rezultat, avem funcții și clase speciale pentru informații despre meta de utilizator. Funcțiile get_user_meta ()
și get_author_meta ()
sunt echivalente de a obține post meta pentru utilizatori. WP_Query
are, de asemenea, echivalenți cu utilizatorii proprii - WP_User_Query
.
Când utilizați funcții cum ar fi get_post_meta ()
pentru a reveni la mai mult de un câmp, veți obține probabil ceea ce se numește o matrice multidimensională. O matrice multidimensională este, de asemenea, cunoscută ca o matrice de matrice. Fiecare matrice din matricea multidimensională ar putea fi o matrice multidimensională.
Sunet confuz? Nu vă faceți griji! În această serie, ne vom referi la modul de citire a matricelor multidimensionale pentru a "trece în jos" la indicele de care aveți nevoie.
În cele din urmă - așa cum am menționat mai devreme - este o altă metodă de a obține informații despre un post WP_Query
. Când utilizați WP_Query
clasa folosiți ceea ce se numește PHP orientat obiect și ceea ce reveniți este diferit de o matrice - este un obiect.
În unele moduri, obiectele sunt asemănătoare cu matricele, deoarece acestea pot conține o mulțime de informații. Dar cu un obiect puteți utiliza oricare dintre funcțiile disponibile în clasă. Aceasta înseamnă că nu numai că putem folosi un obiect WP_Query pentru a returna o valoare pentru un câmp meta, dar putem, de asemenea, să folosim metodele sale interne, dintre care cea mai comună este bara()
.
În acest moment, am făcut un sondaj al diferitelor tipuri de meta date, modul în care sunt stocate, modul în care pot fi reprezentate și modul de preluare a acestora.
Pe măsură ce vom continua cu această serie, vom analiza mult mai profund fiecare aspect al tabelelor meta date, API-urile asociate și modul în care le putem folosi pentru a introduce funcționalități și flexibilitate în proiectele noastre.