végezzen lekérdezéseket a WordPress-ben a WP_Query-vel

írta: WordPress írta: Samantha Rodriguez

Utolsó frissítés: Február 24, 2020

a WordPress webhelyét tápláló adatbázis tele van értékes információkkal. Ez az, ami lehetővé teszi a bejegyzések és oldalak szűrését számos különböző változó alapján. Ha azonban a megjeleníteni kívánt elem nem része a témának, akkor az adatok felhasználásának más módjai is vannak.

itt jön be a WP_Query. Ez egy PHP osztály, amely sokféle paramétert használ. Következésképpen lehetővé teszi, hogy adatokat gyűjtsön a WordPress adatbázisból a webhelyén történő használatra vagy megjelenítésre.

ebben a cikkben mélyebb megértést nyújtunk a WP_Query osztályról és annak használatáról. Mi is végigvezeti néhány fontos lépést, hogy kövesse, ha használja. Ha készen állsz, merüljünk bele!

mi az a WP_Query?

mint említettük, a WP_Query egy PHP osztály, amelyet a WordPress adatbázis használ. Ez az osztály több dolgot is megtehet, de elsősorban az adatbázisból származó bejegyzések húzására szolgál.

ahogy a neve is jelzi, lekérdezést készít a hozzá beállított kritériumok alapján. Mivel sok paraméter használható a Wp_query-vel a WordPress-ben, számos egyedi módon húzhatja meg és jelenítheti meg a bejegyzéseket. Majd vizsgálja meg ezeket a lehetőségeket részletesebben később ebben a bejegyzésben.

a WP_Query használata

még akkor is, ha csak a WordPress kódbázis különböző aspektusait tanulja, a WP_Query jó osztály az induláshoz. Most nézzük lebontják négy különböző módon lehet használni a honlapon.

kezdje el az egyéni hurok használatát

a WP_Query hívás megismerésének egyik legjobb módja a WordPress hurok. Ha nem ismeri, mi a hurok, ez egy fontos fogalom, hogy olvassa fel.

a hurok az, ami az adatbázisba kéri a post tartalmát, és megjeleníti a visszaadott adatokat. A beállított paraméterek alapján is működik, például hogy hány bejegyzést szeretne megjeleníteni a webhelyén egyetlen oldalon (amit a Beállítások > olvasási menüben konfigurálhat).

a hurok alapjai így néznek ki:

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

ez az egyszerű állítás lényegében azt mondja, hogy ha vannak bejegyzések, azokat meg kell jeleníteni. Természetesen sokféle sabloncímkét adhat hozzá ehhez az alaphoz, hogy létrehozhassa a kívánt kijelzőt.

a Wp_query-t is beillesztheti a hurokba. Ez lehetővé teszi, hogy paramétereket helyezzen el a visszaadott bejegyzésekre. Bontsuk le, hogy nézne ki ez:

<?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();

ugyanezt fogja látni,ha / while utasítások az alaphurokból, de van egy további WP_Query karakterlánc. Bármilyen paraméter is van beállítva itt, meghatározza, hogy mely bejegyzések jelennek meg.

például, ha ki akart zárni egy bizonyos szerzőt a bejegyzések listájából, akkor ezt megteheti a Wp_query hurokban:

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

ha ezt a hurokba helyezi, a megjelenített bejegyzések már nem tartalmazzák a “12”szerzőszámú felhasználót.

az ezzel a módszerrel használható paraméterek száma szinte végtelen. Akkor is Kategória információkat, valamint a fejlett taxonómiák, csak hogy két példát.

érvek: Az egyéni lekérdezések gerince a WordPress-ben

az előző példában észrevehette a “($args)” szót a karakterlánc részeként. Ez a lekérdezés létfontosságú része, amely a mellékelt argumentumokra hivatkozik. Pontosan megmondja az adatbázisnak, hogy mit kell tartalmaznia a visszaküldött adatokban.

lényegében ezek az argumentumok beállíthatók a megjeleníteni kívánt pontos eredmények meghatározásához. Az argumentumok felhasználhatók a változók értékének megváltoztatására is. Például, ha módosítani szeretné a kategóriák listájának megjelenését az oldalon, használhat argumentumot.

az argumentum meghatározza a változók és értékek tömbjét. Tehát ha szeretné, argumentum segítségével definiálhat egy tömböt, és megmondhatja az adatbázisnak, hogy a kategóriákat csökkenő sorrendben jelenítse meg. Ezenkívül ugyanazzal a módszerrel kizárhatja azokat a kategóriákat, amelyek nem tartalmaznak bejegyzéseket.

paraméterek a WP_Query: Category, Tag, and More

eddig csak a paramétereket említettük. Ezen a ponton nézzük meg közelebbről, mit tudnak valójában csinálni. Elsődleges funkciójuk az, hogy lehetővé tegyék az egyedi tervezésű bejegyzések gyűjteményeinek kihúzását.

a webhely fejlécében használható paraméter egyik példája a kategória paraméter. Ezzel megadhat bizonyos kategóriákat a megjelenítéshez. Ez a megfelelő kategóriaszám vagy csiga megadásával történik.

ezenkívül ugyanezt megteheti a Tag paraméterrel is. Természetesen a kategória és a címke paraméterei valójában csak a jéghegy csúcsa, amikor a WP_Query használatáról van szó.

metódusokkal és tulajdonságokkal rendelkező objektumok módosítása

bár nem ajánlott közvetlenül megváltoztatni egy olyan osztály tulajdonságait, mint a WP_Query, metódusok segítségével kölcsönhatásba léphet velük. Lényegében a módszerek olyanok, mint a függvények, míg a tulajdonságok egyenértékűek a változókkal.

a WP_Query számos tulajdonsággal rendelkezik. Ezek az egyszerű “$posts” tulajdonságoktól a bonyolultabbakig terjednek. Bármilyen módszert is használnak a velük való interakcióhoz, az adatok a bevezetett paraméterek alapján kerülnek visszaadásra.

WP_Query vs. query_posts() a WordPress

érdemes megjegyezni, hogy van egy másik módja az oldal fő lekérdezésének módosítására. Ez a query_posts () függvény. Bár ez a WP_Query-hez hasonló módon működhet, ez is nagyon problematikus lehet.

a WordPress Kódhivatkozás még erősen javasolja, hogy ne használja ezt a funkciót a webhely fő hurokján belül. A legjobb elkerülni a pluginekben és a témákban is. Ez azért van, mert teljesen felülírja a fő lekérdezést.

a WP_Query osztály az előnyben részesített, mert a Lekérdezés futtatása után a fő ciklus is ‘visszaállítható’. Mivel a WP_Query lehetővé teszi több lekérdezés futtatását egy hurokban, meg kell értenie, hogyan kell végrehajtani a wp_reset_postdata funkciót is.

ha beágyazott egy másodlagos hurkot a fő WordPress hurokba, akkor a reset funkció a végére kerül, és így néz ki:

<?php wp_reset_postdata(); ?>

ez visszaállítja az alapértelmezett sabloncímkéket, és visszatér a másodlagos ciklus indítása előtti állapotokhoz.

testreszabhatja WordPress webhelyét a WP Engine segítségével

a WordPress használatának egyik előnye, hogy módosíthatja az elemek megjelenítését a webhelyén. A wp_query megértése és a fejlesztői erőforrások oldalon található eszközök kihasználása segíthet a valóban testreszabott webhelyek létrehozásában.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.