Cum să creați o pagină de pornire cu mai multe înregistrări utilizând interogările personalizate

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:

  • Creați un șablon de pagină personalizat personalizat pentru a fi utilizat de tema dvs.
  • Includeți patru interogări în șablonul respectiv pentru a afișa diferite tipuri de date, inclusiv trei interogări personalizate

Î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.


Ce veți avea nevoie pentru a finaliza acest tutorial

  • O instalare de dezvoltare a WordPress
  • O temă instalată pe care o puteți edita. Dacă lucrați cu o temă existentă, vă recomandăm să creați o temă pentru copii, astfel încât să puteți crea fișiere șablon fără a modifica tema părinte. Folosesc o temă a celor Douăzeci și Doisprezece

Designul paginii principale

Î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:

  • Un antet cu un banner și un meniu de navigare
  • Conținutul paginii principale - text și imagine
  • Trei listări, fiecare utilizând o interogare personalizată:
    • Actualizări - acestea sunt postări standard din categoria "Actualizări"
    • În detaliu - postări standard din categoria "Detalii"
    • Animale - acestea utilizează un tip de post personalizat numit "animal"
  • Un subsol standard

Elementele acestui aspect cu care veți lucra sunt conținutul paginii de pornire și cele trei listări.


Înainte de a începe: Configurarea datelor

Înainte de a începe, veți avea nevoie de câteva elemente pentru ca interogările dvs. să funcționeze:

  • A fost înregistrat un tip de post personalizat "animal". Pentru detalii despre cum să faceți acest lucru, vedeți register_post_type în Codul WordPress. În mod alternativ, functions.php fișierul din pachetul de cod include codul care face acest lucru
  • Două categorii configurate pentru mesajele normale - "Actualizări" și "În detaliu"
  • O pagină statică înființată numită "Acasă", cu un anumit conținut adăugat la aceasta. Acest lucru ar trebui să fie setat ca pagină de pornire prin intermediul paginii Setări din tabloul de bord WordPress
  • Câteva posturi normale din fiecare categorie și câteva animale (utilizând tipul postului personalizat). Șablonul va afișa până la opt din fiecare

Crearea șablonului de pagină frontală

Primul 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:


Adăugarea conținutului static la pagina de pornire

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:


Prima întrebare personalizată cu 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 personalizat
  • categorie
  • etichetă
  • termen (uri) de taxonomie
  • posts_per_page - numărul de postări de afișat
  • Ordin - ASC sau DESC
  • orderby - puteți ordona după dată, nume, autor, meniu sau mai mulți parametri
  • … si multe altele

Pentru 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 întrebare personalizată

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 întrebare personalizată: Solicitarea unui tip de post particularizat

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:


Stilul Lista

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ă:


rezumat

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:

  • Pentru o pagină frontală care arata doar arhive și nici un conținut static, eliminați pur și simplu prima bucla
  • Pentru a lista tipul postului "animale" într-un mod diferit, puteți specifica taxonomii în argumentele dvs. pentru WP_Query
  • Ați adăugat sau modificat conținutul afișat pentru fiecare post, de exemplu utilizând the_thumbnail () pentru a afișa miniaturile post (sau imaginile prezentate)
  • Puteți adăuga interogări personalizate în bara laterală sau în subsolul dvs. pentru a le afișa pe toate paginile

Resurse

Unele resurse utile:

  • Pagina codificată pe WP_Query clasa: http://codex.wordpress.org/Class_Reference/WP_Query
  • Crearea unui fișier de șablon pentru prima pagină: http://codex.wordpress.org/Template_Hierarchy#Front_Page_display
  • Înregistrarea tipurilor de mesaje personalizate: http://codex.wordpress.org/Function_Reference/register_post_type
Cod