Până acum ați citit despre conceptele de bază ale folosirii lui Twig prin intermediul lemnului, în timp ce construim o temă modulară WordPress. Am studiat, de asemenea, blocarea cuiburilor și moștenirea multiplă cu Twig, pe baza principiului DRY. Astăzi, vom explora modul de afișare a imaginilor atașate, a meniurilor WordPress și a utilizatorilor într-o temă cu Twig prin pluginul Timer.
Imaginile sunt unul dintre elementele vitale pentru orice temă WordPress. În practicile obișnuite de codificare WordPress, imaginile sunt integrate cu PHP în interiorul tagurilor HTML normale. Cu toate acestea, cherestea oferă o modalitate destul de cuprinzătoare de a manipula img
(imagine), care este modulară și curată.
Sunt atașate imagini în câmpul miniatural al postării. Acestea pot fi recuperate cu ușurință prin fișierele Twig de către post.thumbnail
. Este chiar atât de ușor!
Să începem cu un exemplu practic. Al nostru single.php
fișierul arată astfel:
Aici, am folosit-o
TimberPost ()
pentru motive destul de evidente. Acest lucru este folosit în întreaga cherestea pentru a reprezenta posturile preluate din WordPress, făcându-le disponibile pentru șabloanele Twig.Deoarece imaginea recomandată este atașată la datele de post, acum trebuie să o preluăm pe front. Deci, dosarul Twig pentru asta,
single.twig
, va arata astfel:# Sinlge Template: 'single.twig' # % extinde "base.twig"% % conținut bloc%%% endblock%Pe linia # 9 codul
post.thumbnail.src
preia imaginea (thumbnail) a postului și o afișează astfel:Puteți utiliza această sintaxă de cod pentru a prelua cât mai multe imagini miniatură dorite.
Există încă mult mai multe pe care le puteți experimenta cu aceste imagini atunci când utilizați cherestea. De exemplu, le puteți redimensiona și prin:
Prin utilizarea funcției
redimensionarea ()
, , puteți adăuga noi dimensiuni imaginii în care este primul parametrulăţime
iar al doilea esteînălţime
. Dacă doriți să reduceți proporțional imaginea, atunci omiteți imagineaînălţime
atribut. Acum sintaxa devine:Front-end-ul afișează aceeași imagine ca aceasta:
Dacă doriți să explorați mai multe, încercați apoi agenda de bucate.
Utilizarea
TimberImage ()
Luați în considerare un scenariu în care un dezvoltator dorește să preia imagini prin ID-ul imaginii sau dorește să afișeze o imagine externă prin URL etc. Pentru o astfel de abordare extinsă, Timber oferă o clasă,
TimberImage ()
, pentru a reprezenta imaginile recuperate din WordPress.folosire
Să luăm un exemplu pentru noi
single.php
fișier, care arată astfel:De data aceasta, eu folosesc
TimberImage ()
clasa care ia ID-ul imaginii8
ca parametru. Restul rutinei de codare este la fel. Să recuperăm această imagine prin fișierul Twigsingle.twig
.Valoarea stocată în interior
$ context
elementul custom_img, adică.custom_img
, va prelua imaginea prin ID-ul său pentru a fi afișată pe capătul din față, astfel:Pentru a prelua imaginea printr-o înlocuire externă a adresei URL, puteți urma această sintaxă.
De data aceasta, în loc de ID-ul imaginii, există o adresă URL de imagine externă care este afișată pe front, astfel:
Pentru a explora unele caracteristici suplimentare ale acestei funcții, puteți verifica documentația.
Meniuri în cherestea
Acum, cum ai face să faci un meniu WordPress cu șabloane Twig? E un lucru dificil de făcut. Dar, țineți-vă! Cheresteaua vă oferă
TimberMenu ()
clasa, care vă poate ajuta să redenumiți meniurile WordPress din interiorul fișierelor Twig ca o bucla completă. Să aruncăm o privire la ea.folosire
Întregul concept de preluare a elementelor din meniu se învârte în jurul valorii de meniul obiect. Există două modalități de definire a contextului său. Primul este de a face obiectul meniului disponibil pe fiecare pagină prin adăugarea lui la funcția globală get_context (), așa cum am făcut în
functions.php
fişier. În al doilea rând, puteți adăuga un anumit meniu prin ID-ul său pentru un anumit șablon PHP.Indiferent de cele două metode, odată ce meniul devine disponibil cherestelei
$ context
array, puteți prelua toate elementele de meniu din acesta. Dar prefer să o definim la nivel global. Deci du-te lafunctions.php
introduceți și lipiți următorul cod:Deci, aici am definit un apel personalizat
add_to_context
. În interiorul acestei funcții există unele date pe care vreau să le pun la dispoziție la fiecare șablon PHP pringet_context ()
funcţie. Pe linia # 13 puteți găsi o instanță deTimberMenu ()
fiind trecut peste meniul de elemente din$ date
mulțime.Acest lucru va face ca un meniu standard WordPress să fie disponibil pentru șablonul Twig ca obiect pe care îl putem face.
TimberMenu ()
funcția poate lua parametri precum meniul slug sau ID-ul.Să creăm un șablon Twig numit
menu.twig
fişier.# Template pentru meniuri: 'menu.twig' #Codul de mai sus rulează o buclă în interiorul acestui șablon Twig. Linia # 5 rulează a
pentru
buclă pentru fiecare element de meniu și afișează titlul fiecărui meniuarticol
într-o listă neordonată. Buclele rulează până la toate perechile cheie-valori ale luimeniul
obiect sunt iterate și listate pe front-end.M-am dus și am inclus
menu.twig
șablon înbase.twig
șablon pe linia # 11.#Baza de bază: "base.twig" # % block html_head_container% % include 'header.twig'% % endblock% % include "meniu.twig"%% conținutul blocului%% include "footer.twig"%SCUZE! Nu sa găsit niciun conținut!
% endblock%