Gyors bontás
- query_posts - csak ritka élek kivételével használjon
- pre_get_posts - használja, ha meg szeretné változtatni az alapértelmezett lekérdezést egy oldalon
- új WP_Query - használja, hogy eltérő eredményeket szerezzen a fő lekérdezéstől
- get_posts - ugyanúgy, mint a WP_Query, csak tömb formátumban adja vissza az eredményeket
query_posts
A query_posts használata már nem javasolt. Jobb módok vannak arra, hogy megvalósítsák azt, amit elérni próbálnak. Megpróbálja megváltoztatni a fő lekérdezést? Az eredmények szűréséhez használja a pre_get_posts műveletet. A query_posts oldalra dobja az eredeti fő lekérdezést (miután már futtatta), és létrehoz egy új fő lekérdezést. Ez felváltja az összes, a poszthoz kapcsolódó globális változót, és teljesen új adatbázis-hívást eredményez. Nincs egyszerű ok arra, hogy ne csak meg kell változtatnia a meglévő lekérdezést. Biztos vagyok benne, hogy vannak olyan él esetek, amikor ezt fel kell használni, de a fejem tetejére semmire sem gondolok. Használja az alábbi lehetőségek egyikét, mivel ezek valószínűleg jobban megfelelnek.
pre_get_posts
Ez egy szűrő. Ez módosítja a fő lekérdezést egy oldalra. Tehát például meg akarjuk változtatni a honlapon visszatérő eredmények számát …
tj_change_home_number ($ query) függvény {if (is_home ()) {$ query-> set ('posts_per_page', 2); Visszatérés; }} add_action ('pre_get_posts', 'tj_change_home_number');
Ez megváltoztatná a fő lekérdezést, hogy csak 2 üzenet jelenjen meg a honlapon.
WP_Query
A meghívott sablonok fő lekérdezése a WP_Query példánya . Amikor egy sablonon belüli globális postváltozókkal lép kapcsolatba, ez a WP_Query eredménye. Ehhez számos felhasználási eset van, de hasonlóan a get_posts-hez, új WP_Query- t hirdetek meg a kapcsolódó hozzászólások húzása céljából, valami e vonal mentén. Ne feledje, hogy ha egy új WP_Query áttekintése közben futtatja a the_post () függvényt, akkor futtassa a wp_reset_postdata () függvényt, miután elvégezte a hurkot, hogy visszaállítsa a globális postai adatokat az eredeti fő lekérdezésre.
get_posts
A get_posts használatával valójában új WP_Query-t hív, és tömb formátumban kapja meg az információkat. Általában a get_posts parancsot használok, amikor a csúszkára küldöm a hozzászólásokat a honlapon, vagy néhány kapcsolódó üzenetet oldalsávon hívok. A WP_Query ugyanolyan könnyen használható, de jó módszer egy tömb hozzászólás fogadására a globális posztváltozók módosítása nélkül. Véleményem szerint a legegyszerűbb és legkönnyebben használható. Az adatok visszatérése után nincs szükség funkcióhívásra, csak egy tömb áthúzása.
Ez kicsit zavaró lehet, tehát kérjük, tegyen fel kérdéseket az alábbi megjegyzésekben.
Referencia:
WP_Query
pre_get_posts
query_posts
get_posts
