Efectuați interogări în WordPress cu WP_Query

postat în WordPress de Samantha Rodriguez

Ultima actualizare pe 24 februarie, 2020

baza de date care alimentează site-ul dvs. WordPress este plină de informații valoroase. Aceasta este ceea ce face posibilă filtrarea postărilor și paginilor dvs. după multe variabile diferite. Dacă ceea ce doriți să afișați nu face parte din tema dvs., totuși, există și alte modalități de utilizare a acestor date.

aici intervine WP_Query. Aceasta este o clasă PHP care folosește o mare varietate de parametri. În consecință, vă permite să trageți date din Baza de date WordPress pentru utilizare sau afișare pe site-ul dvs. web.

în acest articol, vom oferi o înțelegere mai profundă a clasei WP_Query și modul în care aceasta poate fi utilizată. De asemenea, vă vom prezenta câțiva pași importanți de urmat atunci când îl utilizați. Dacă sunteți gata, să ne scufundăm!

ce este WP_Query?

după cum am menționat, WP_Query este o clasă PHP utilizată de baza de date WordPress. Această clasă particulară poate face mai multe lucruri, dar în primul rând este folosită pentru a trage postări din Baza de date.

după cum indică și numele, face o interogare pe baza criteriilor pe care le-ați setat pentru aceasta. Deoarece există o mulțime de parametri pe care îi puteți utiliza cu WP_Query în WordPress, puteți trage și afișa postări într-o serie de moduri unice. Vom explora aceste opțiuni mai detaliat mai târziu în acest post.

cum să utilizați WP_Query

chiar dacă sunteți doar de învățare diferitele aspecte ale WordPress codebase, WP_Query este o clasă bună pentru a începe cu. Acum, să descompunem patru moduri diferite în care îl puteți utiliza pe site-ul dvs. web.

începeți cu o buclă personalizată

una dintre cele mai bune modalități de a cunoaște apelul WP_Query este prin bucla WordPress. Dacă nu sunteți familiarizați cu ceea ce este bucla, este un concept important de citit.

bucla este ceea ce apelează la baza de date care solicită conținut post și afișează datele returnate. De asemenea, funcționează pe baza parametrilor setați, cum ar fi câte postări doriți să afișeze site-ul dvs. pe o singură pagină (ceva ce puteți configura în meniul de citire Setări >).

elementele de bază ale buclei arată astfel:

<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// Display post content
endwhile;
endif;
?>

această afirmație simplă spune în esență că, dacă există postări, acestea ar trebui afișate. Desigur, puteți adăuga o mare varietate de etichete șablon la această fundație, pentru a crea afișajul dorit.

de asemenea, puteți introduce WP_Query în buclă. Acest lucru vă permite să plasați parametrii pe ce posturi vor fi returnate. Să rupe în jos ceea ce ar arata ca:

<?php
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

veți vedea aceleași declarații if/while din bucla de bază, dar există un șir WP_Query suplimentar. Indiferent de parametrii setați aici, va determina ce postări vor fi afișate.

de exemplu, dacă doriți să excludeți un anumit autor dintr-o listă de postări, puteți face acest lucru în buclă cu WP_Query:

$query = new WP_Query( array( 'author' => -12 ) );

plasând acest lucru în buclă, postările dvs. afișate nu vor mai include utilizatorul cu numărul autorului „12”.

Numărul de parametri pe care îi puteți utiliza cu această metodă este aproape nesfârșit. Puteți include informații despre categorii, precum și taxonomii avansate, doar pentru a da două exemple.

argumente: Coloana vertebrală a interogărilor personalizate din WordPress

în exemplul anterior, este posibil să fi observat „($args)” ca parte a șirului. Aceasta este o parte vitală a interogării care se referă la argumentele incluse. Acesta spune baza de date exact ce să includă în datele returnate.

în esență, aceste argumente pot fi configurate pentru a determina rezultatele exacte pe care doriți să le afișați. Argumentele pot fi folosite pentru a schimba valoarea variabilelor, de asemenea. De exemplu, dacă doriți să modificați modul în care lista dvs. de categorii apare pe pagină, puteți utiliza un argument.

argumentul dvs. va defini o serie de variabile și valori. Deci, dacă doriți, puteți utiliza un argument pentru a defini o matrice și spuneți bazei de date să prezinte categoriile în ordine descrescătoare. În plus, puteți utiliza aceeași metodă pentru a exclude orice categorii care nu conțin postări.

parametri în WP_Query: Categorie, etichetă și multe altele

până în acest moment, am menționat doar parametrii în trecere. În acest moment, să ne uităm mai atent la ceea ce pot face de fapt. Funcția lor principală este de a vă permite să trageți colecții personalizate de postări.

un exemplu de parametru care poate fi utilizat în antetul site-ului dvs. este parametrul Categorie. Puteți utiliza acest lucru pentru a specifica anumite categorii pentru afișare. Acest lucru se face prin furnizarea numărului de categorie relevant sau a slugului.

în plus, puteți face același lucru cu parametrul Tag. Desigur, parametrii categoriei și etichetei sunt într-adevăr doar vârful aisbergului atunci când vine vorba de utilizarea WP_Query.

modificați obiectele cu metode și proprietăți

deși nu este recomandat să modificați direct proprietățile unei clase precum WP_Query, puteți interacționa cu acestea utilizând metode. În esență, metodele sunt ca funcții, în timp ce proprietățile sunt echivalentul variabilelor.

WP_Query are multe proprietăți. Acestea variază de la proprietăți simple „$posts” la cele mai complicate. Indiferent de metoda utilizată pentru a interacționa cu acestea, datele vor fi returnate pe baza parametrilor pe care alegeți să îi puneți în aplicare.

WP_Query vs. query_posts () în WordPress

merită remarcat faptul că există un alt mod de a modifica interogarea principală pe pagina dvs. Aceasta este funcția query_posts (). Deși acest lucru poate funcționa într-un mod similar cu WP_Query, poate fi, de asemenea, foarte problematic.

referința codului WordPress recomandă chiar să nu utilizați această funcție în bucla principală a site-ului dvs. web. De asemenea, este mai bine să o evitați în pluginuri și teme. Acest lucru se datorează faptului că va suprascrie complet interogarea principală.

clasa WP_Query este preferată, deoarece puteți, de asemenea, să resetați bucla principală după ce executați o interogare. Deoarece WP_Query vă permite să rulați mai multe interogări într-o buclă, veți dori să înțelegeți cum să implementați și funcția wp_reset_postdata.

dacă ați încorporat o buclă secundară în bucla principală WordPress, funcția de resetare va fi plasată la sfârșit și va arăta astfel:

<?php wp_reset_postdata(); ?>

aceasta va restabili etichetele șablonului implicit și veți reveni la modul în care au fost lucrurile înainte de inițierea buclei secundare.

Personalizați-vă site-ul WordPress cu WP Engine

posibilitatea de a face ajustări la modul în care elementele sunt afișate pe site-ul dvs. web este doar unul dintre avantajele utilizării WordPress. Înțelegerea WP_Query și utilizarea instrumentelor furnizate pe pagina resurse pentru dezvoltatori vă pot ajuta să construiți site-uri web cu adevărat personalizate.

Lasă un răspuns

Adresa ta de email nu va fi publicată.