WordPress vă oferă câteva opțiuni încorporate pentru pagina principală a site-ului dvs. web: afișarea celor mai recente postări de blog sau a unei pagini statice la alegere. Dar dacă vrei să creezi ceva mai interesant decât asta?
Dacă site-ul dvs. conține o mulțime de date utilizând categorii, taxonomii sau tipuri personalizate de postări pentru ao organiza, este posibil să doriți să afișați pe pagina dvs. de pornire date cu mai mult de un fel. Vestea bună este că puteți face acest lucru utilizând un șablon personalizat pentru pagina de pornire. În acest șablon scrieți un număr de interogări personalizate pentru a afișa datele în modul dorit. În acest tutorial veți învăța cum să faceți următoarele:
Întrebările vor afișa postările standard plus un singur tip de post personalizat înregistrat pentru acest proiect, numit "animal". Puteți găsi fișierul șablon cu cele patru interogări din pachetul de coduri.
Înainte de a începe să configurați șablonul de pagină de pornire, mai întâi să luați timp pentru a identifica conținutul paginii de pornire:
Pagina de pornire conține:
Elementele acestui aspect cu care veți lucra sunt conținutul paginii de pornire și cele trei listări.
Înainte de a începe, veți avea nevoie de câteva elemente pentru ca interogările dvs. să funcționeze:
register_post_type
în Codul WordPress. În mod alternativ, functions.php fișierul din pachetul de cod include codul care face acest lucruPrimul pas este să creați un fișier șablon pentru a ține codul. Creați un fișier gol în dosarul tematic și denumiți-l front-page.php. Adăugați în fișier următorul cod:
// conținutul paginii principale merge aici
Salvați fișierul. După cum puteți vedea, acesta include fișierele șablonului antetului și subsolului din pagina dvs. de pornire. Nu este inclusă nicio bara laterală, deoarece aceasta nu face parte din designul paginii de pornire. Când vizitați pagina de pornire a site-ului dvs., veți avea acum o pagină goală cu doar antetul și subsolul afișat:
Pe lângă afișarea rezultatelor interogărilor personalizate, pagina dvs. de pornire va afișa conținutul din pagina statică "Acasă". Pentru a adăuga acest lucru în fișierul dvs. de șablon, introduceți următorul cod pentru a înlocui fișierul "// conținutul paginii principale merge aici
'linie:
> ?>
Aceasta este bucla standard. WordPress îl va folosi pentru a afișa conținutul paginii statice pe care ați înregistrat-o ca pagină de pornire. Pagina dvs. de pornire va conține acum conținutul static:
WP_Query
Pentru interogările personalizate, veți folosi WP_Query
clasă. Aceasta vă permite să configurați interogări personalizate și să rulați o buclă pe baza fiecăruia pentru a afișa postări.
Utilizarea WP_Query
este o practică mult mai bună decât utilizarea query_posts
deoarece acesta din urmă resetează complet interogarea principală și poate cauza probleme de performanță. WP_Query
ia un set de parametri care definesc interogarea pe care doriți să o executați. Câteva exemple de parametri pe care le puteți specifica includ (dar nu se limitează la acestea):
post_type
- postări, pagini, atașamente sau un tip de post personalizatposts_per_page
- numărul de postări de afișatOrdin
- ASC
sau DESC
orderby
- puteți ordona după dată, nume, autor, meniu sau mai mulți parametriPentru detalii despre parametrii cu care puteți utiliza WP_Query
, vedea WP_Query
în Codul WordPress. A folosi WP_Query
, introduceți următorul cod:
have_posts ()): $ interogare-> the_post (); // postați conținut pentru a afișa aici în cele din urmă; ?>
În pagina dvs. de pornire, doriți să enumerați ultimele opt postări din categoria "Actualizări". Pentru aceasta, adăugați următorul cod între interogarea principală și apelul la subsol:
/ Categorie / actualizări / "> Actualizări
'post', 'category_name' => 'Actualizări', 'posts_per_page' => 8)); în timp ce ($ query-> have_posts ()): $ query-> the_post (); ?>
- „> -
Aceasta creează o element pentru a conține înregistrarea dvs. și deschide listarea cu un link către arhiva categoriei dintr-o listă
etichetă. Apoi definește argumentele pentru
WP_Query
și execută buclă pe baza acestei interogări. Clasele suplimentare pot fi folosite pentru a modela fiecare listă individuală.
A doua interogare personalizată este aproape identică cu prima, ci doar interoghează postări dintr-o altă categorie. Adăugați următoarele după prima interogare și imediat înainte de a doua închidere etichetă:
/ categorie / în profunzime / "> În profunzime
'post', 'category_name' => 'În profunzime', 'posts_per_page' => 8)); în timp ce ($ query-> have_posts ()): $ query-> the_post (); ?>
- „> -
Aceasta adaugă o a doua postare pentru postări din categoria "În detaliu".
A treia și ultima interogare nu interoghează mesajele standard, ci tipul de post personalizat "animal" pe care l-ați înregistrat înainte de a crea fișierul șablon. După cea de-a doua interogare personalizată, adăugați următoarele:
"Animalele noastre preferate
'animal', 'posts_per_page' => 8)); în timp ce ($ query-> have_posts ()): $ query-> the_post (); ?>
- „>
Acum aveți toate interogările în loc și afișate pe pagina de pornire:
Ultimul pas este de a adăuga ceva stil. În momentul în care listele sunt una sub cealaltă, cu foarte puține în ceea ce privește distanțarea sau decorarea.
În acest pas veți adăuga un stil simplu pentru a îmbunătăți acest lucru. În foaia de stil a temei, adăugați următoarele:
.clar float: none; clar: ambele; . home section.archive lățime: 31%; margine: 10px 1%; frontieră: 1px solid # 222; plutește la stânga; . home section arhivă ul li linie-height: 1.4em;
Acest lucru va asigura că înregistrările sunt șterse sub conținutul principal și le plasați unul lângă celălalt. De asemenea, adaugă unele distanțe între elementele din fiecare listă:
Acum aveți o pagină de pornire personalizată care include conținutul paginii statice plus trei interogări personalizate care enumeră diferite tipuri de conținut. Ați putea adapta această abordare la cerințe diferite. De exemplu:
WP_Query
the_thumbnail ()
pentru a afișa miniaturile post (sau imaginile prezentate)Unele resurse utile:
WP_Query
clasa: http://codex.wordpress.org/Class_Reference/WP_Query