Ce vom crea
În cazul în care clasificarea informațiilor de pe site-ul dvs. folosind mai multe taxonomii, s-ar putea găsi o oportunitate de a separa înregistrări în taxonomia arhiva termenilor de-a doua taxonomia.
În acest articol vă voi arăta cum să creați o pagină de taxonomie, pe care vor fi afișate imagini în conformitate cu termenii celei de a doua taxonomie, din care fac parte, de asemenea.
Apoi, voi crea oa doua arhivă de taxonomie pentru cea de-a doua taxonomie, unde intrările vor fi realizate în conformitate cu termenii primei taxonomii.
1. Crearea unei teme
Pentru acest articol, voi crea o tematică de douăzeci și două de copii cu două fișiere, stiluri și un fișier funcțional nou. Dacă lucrați cu propria temă, copiați codul în fișierul funcțional al temei și adăugați fișiere șablon.
Pentru a crea o temă, am pus un fișier numit style.css în dosarul tematic gol și adaug următorul cod la el:
Astfel vom crea tema copilului.
2. Înregistrarea tipurilor de înregistrări și a taxonomiilor
Pentru acest articol, voi folosi același tip de taxonomie "animale" și "animal_cat". pe care l-am folosit în articol despre crearea unui șablon pentru un tip de înregistrări particularizate. Voi adăuga și o taxonomie numită "habitat".
Pentru a face acest lucru, creez un nou fișier numit functions.php. Mai întâi, adaug o funcție pentru a înregistra tipul meu de înregistrare:
După aceasta, înregistrez două taxonomii într-o funcție:
Am creat tipul de "animal" al înregistrărilor și două taxonomii care i se aplică. Observați că am folosit "show_admin_column". așa că mai târziu mi-a fost mai ușor să administrez înregistrările.
După adăugarea de informații și clasificarea animalelor în funcție de diferite taxonomii, aceste date vor fi afișate în panoul de administrare WordPress după cum urmează.
3. Crearea unui fișier de șablon pentru prima taxonomie
Următorul pas este de a crea un fișier șablon pentru fișierul taxonomie „animal_cat“. În dosarul tematic, creați un fișier și denumiți-l taxonomy-animal_cat.php. Acum, adăugați codul pentru „wrap“ temei dvs. (l-am copiat din tema părinte, dacă utilizați propria temă, codul va fi diferit):
Definiți termenul de interogare curent
Pentru a crea o interogare personalizată pentru fiecare termen, șablonul de arhivare va utiliza WP_Query. Unul dintre obiectele solicitate este termenul taxonomiei curente, care este afișată în prezent, deci trebuie să o definim și să o salvăm ca o variabilă.
Mai jos este șirul get_header (). adăugați următorul cod:
Puteți utiliza variabila $ animalcat mai târziu.
Afișarea titlului paginii
Acum, arhivele nu au un antet principal, deci trebuie să-l adăugăm folosind variabila pe care tocmai am definit-o.
După eticheta de deschidere
Obținerea termenilor celei de-a doua taxonomii
În continuare, trebuie să obțineți o listă de termeni pentru a doua taxonomie. Sub codul pe care tocmai l-ați adăugat, inserați următoarele rânduri:
Acest cod primește o listă a tuturor termenilor și o stochează într-un matrice. Cu "hide_empty" puteți ascunde toți termenii goi. Dar aceasta împiedică doar termenii de interogare, care nu aparțin nici uneia dintre mențiunile, și nu acei termeni care nu sunt clasificați la posturi care aparțin termenul solicitat.
Crearea unei buclă
Acum creați o buclă care va rula pentru fiecare termen:
Câteva comentarii despre acest cod:- O nouă cerere este definită pentru fiecare termen;
- Argumentele interogării includ termenul celei de-a doua taxonomii (termenul $) și termenul curent solicitat ($ animalcat);
- Dacă taxonomiile se aplică numai unui tip de înregistrare, este posibil să nu folosim argumentul "post_type". dar prefer să-l includ doar pentru caz;
- Variabila $ term este folosită pentru a afișa titlul fiecărei secțiuni utilizând numele de nume $.
Salvați acum fișierul șablon și uitați-vă la arhiva taxonomică pentru unul dintre termenii Animal Family:
Adăugarea înregistrărilor de verificare pentru fiecare interogare
Acum șablonul afișează o listă goală. Dar este ușor de rezolvat prin verificarea dacă fiecare cerere conține o înregistrare.
Înfășurați bucla în următorul cod:
Acum bucla va arata astfel:
Astfel, bucla WordPress nu va porni dacă interogarea nu conține înregistrări, iar antetele goale vor fi șterse. Acum, pagina de arhivare arată astfel:
Creați un fișier șablon pentru a doua taxonomie
Ultimul pas este crearea unui fișier șablon pentru a doua taxonomie.
Noul fișier șablon va arăta astfel:
După ce efectuați aceste modificări, salvați noul fișier șablon și vedeți cum arata arhiva:
Acum aveți o pagină pentru a doua taxonomie, care funcționează în același mod ca și pentru prima taxonomie.
concluzie
Din acest articol, ați învățat cum să afișați date folosind mai multe taxonomii. Puteți adăuga oa treia taxonomie într-unul din două moduri:- Repetați procesul de extragere a termenilor, definirea interogării și pornirea ciclului pentru al treilea termen după al doilea, astfel încât să aveți două liste separate;
- Reduceți datele utilizând toate cele trei condiții, utilizând fiecare variabil $ term pentru $ habitat sau $ animalcat. și adăugând o instrucțiune suplimentară foreach () din declarația foreach () existentă. În acest caz, va trebui să vă gândiți cum să afișați datele primite: printr-o listă sau utilizând o grilă.
De ce nu încerci asta?