În primele două părți ale acestei serii, am acoperit ce metadate este în WordPress și cum să lucrați cu matricele care sunt în mod obișnuit returnate. Acum, că ați învățat să faceți munca de detectiv necesară pentru a găsi structura unei matrice, este timpul să învățați să utilizați bucle pentru a automatiza procesul de ieșire a unei matrice.
Odată ce ați învățat această abilitate importantă, nu veți mai trebui să scrieți din nou marcaje repetitive HTML.
Buclele standard WordPress sunt a in timp ce
buclă, ca și în "în timp ce există elemente în buclă, continuați buclă." De multe ori, atunci când lucrați cu meta date, este mai ușor să lucrați cu a pentru fiecare
buclă.
Aceste bucle ne permit să scriem PHP ca și cum am lucra cu o singură matrice și apoi pentru fiecare element extragem fiecare element dintr-o matrice multidimensională prin aceeași buclă.
Anterior ne-am uitat la această gamă:
$ heroes => array ('Luke' => array ('full_name' => 'Luke Skywalker', 'home_planet' => 'Tatooine', 'trope' => ('full name' => 'Leia Organa', 'home_planet' => 'Alderaan', 'trope' , 'home_planet' => 'Corell', 'trope' => 'Lovable Rouge'),);
Dacă vrem să facem această matrice citită, cu o marcare adecvată, vom crea a pentru fiecare
buclă.
De obicei, am setat pentru fiecare
buclele cu forme plural și singulare ale variabilei,., foreach ($ eroi ca $ erou)
și de acolo putem folosi variabila singulară pentru a reprezenta fiecare element din matrice.
Putem trata apoi matricea noastră multidimensională ca o singură matrice.
$ heroes => array ('Luke' => array ('full_name' => 'Luke Skywalker', 'home_planet' => 'Tatooine', 'trope' => ('full name' => 'Leia Organa', 'home_planet' => 'Alderaan', 'trope' , 'home_planet' => 'Corell', 'trope' => 'Lovable Rouge'),); echo "
Acesta este un exemplu abstract, dar sunt sigur că puteți vedea puterea. În loc să rescrieți (și să actualizați) același marcaj de trei ori, scrieți-l o singură dată și lăsați-l să treacă PHP de trei ori.
Aceste șase linii simple de cod ar putea la fel de ușor să se ocupe de cincizeci de posturi ca cinci ne arată puterea de foreach bucle pentru a scrie ușor de gestionat, cod scalabil.
În următorul exemplu, luăm o serie de post-ID-uri, iar postul foreach returnează numele unui câmp YOUTUBE_NAME
ca o legătură care este stabilită în YOUTUBE_LINK
camp. Aceste șase linii simple de cod ar putea la fel de ușor să se ocupe de cincizeci de posturi ca cinci care ne arată puterea pentru fiecare
bucle pentru a scrie ușor de gestionat, cod scalabil.
$ posts = array (5, 8, 13, 21, 34); foreach ($ postări ca $ post) $ link = get_post_meta ($ post, 'youtube_link', 'single'); $ name = get_post_meta ($ post, 'youtube_name', 'single'); echo ". $ name. ''; // sfârșitul buclă foreach
Până în prezent am specificat manual ID-urile post, dar când este folosit în buclă principală WordPress putem seta ID-ul în get_post_meta ()
manual cu get_the_ID ()
. Deci, folosind aceleași câmpuri personalizate ca și cele folosite în ultimul exemplu, dar le arătăm ca parte a bucla principală, dacă vrem să adăugăm videoclipul pe YouTube sub conținutul postului, am putea să adăugăm simplu, după, continutul();
ceva de genul:
$ link = get_post_meta (get_the_ID (), "youtube_link", "single"); $ name = get_post_meta (get_the_ID (), 'youttube_name', 'single'); echo ". $ nume. '';
in timp ce
și pentru fiecare
BuclăDe multe ori vom avea un câmp personalizat care conține o serie de date serializate pentru informații conexe. De exemplu, un câmp poate conține titlul videoclipului, tipul mime, URL-ul și descrierea.
Depunerea în serie este utilă în special atunci când se pot adăuga mai multe elemente într-un câmp. Lucrul cu aceste vremuri de câmpuri poate fi dificil în principalele bucle WordPress. Cea mai ușoară modalitate de a le trata este printr-o buclă secundară în bucla principală.
În acest exemplu, am adăugat la o buclă postală standard WordPress, care este a in timp ce
buclă, o bucla secundară, care trece prin fiecare câmp video pentru a construi un player video HTML5, unul pentru fiecare
video.
Nu contează dacă există un film sau zece. Aceste cateva linii simple de coduri vor crea un jucator pentru fiecare.
dacă have_posts () while (have_posts ()) the_post (); the_content (); $ videos = get_post_meta (get_the_ID (), "videos", false);Aproape acolo
Prin această serie, până în prezent, am acoperit ceea ce metadatele sunt în WordPress și au aplicat aceste cunoștințe pentru a învăța despre rețelele și buclele PHP. De asemenea, am analizat câteva exemple practice despre modul de utilizare a acestor date sau a unor matrice de date în buclă.
Acesta este primul pas spre învățarea folosirii WordPress ca sistem de gestionare a conținutului. Următorul pas este să învățați cum să interogați baza de date prin câmpurile meta, ceea ce vom acoperi ulterior.