Anonim

Nopea erittely

  • kysely_postit - älä käytä paitsi harvinaisissa reunatapauksissa
  • pre_get_posts - käytä, jos haluat muuttaa sivun oletuskyselyä
  • uusi WP_Query - Käytä saadaksesi erilaisia ​​tuloksia pääkyselystä
  • get_posts - sama kuin WP_Query, palauttaa vain tulokset taulukkomuodossa
  • query_posts

    Kysely_postien käyttöä ei enää suositella. On olemassa parempia tapoja toteuttaa se, mitä yrität saavuttaa. Yritätkö muuttaa pääkyselyä? Suodata tulokset toiminnolla pre_get_posts (katso alla). query_posts heittää alkuperäisen pääkyselyn sivulle (sen jälkeen kun se on jo suoritettu) ja luo uuden pääkyselyn. Se korvaa kaikki postiin liittyvät globaalit muuttujat ja johtaa aivan uuteen tietokantakutsuun. Ei ole yksinkertaisesti mitään syytä, jonka vuoksi sinun ei pitäisi vain muuttaa olemassa olevaa kyselyä. Olen varma, että on joitain reunatapauksia, joissa sitä tulisi käyttää, mutta en voi ajatella mitään pääni yläpuolelta. Käytä yhtä alla olevista vaihtoehdoista, koska ne sopivat todennäköisesti paremmin.

    pre_get_posts

    Tämä on suodatin. Tämä muuttaa pääkyselyn sivulle. Joten esimerkiksi haluamme muuttaa kotisivulle palautettujen tulosten määrää…

toiminto tj_change_home_number ($ kysely) {if (is_home ()) {$ query-> set ('posts_per_page', 2); palata; }} add_action ('pre_get_posts', 'tj_change_home_number');

Tämä muuttaisi pääkyselyä siten, että vain 2 viestiä palataan kotisivulle.

WP_Query

Minkä tahansa kutsutun mallin pääkysely on WP_Query-esimerkki . Kun olet vuorovaikutuksessa mallin sisällä olevien globaalien postimuuttujien kanssa, se on WP_Query- tulos. Käyttötapauksia tähän on useita, mutta kuten get_posts -tapauksissa, ilmoittaisin uuden WP_Query-aiheen liittyvien viestien vetämistä varten, jotain näiden linjojen mukaisesti. Muista vain, että jos suoritat the_post () -toimintoa samalla kun etsit uutta WP_Query-sovellusta, suorita wp_reset_postdata () -toiminto suorittamalla silmukka, jonka jälkeen olet palauttanut globaalit postitiedot alkuperäiseen pääkyselyyn .

get_posts

Käytä get_posts -sovellusta, käytännössä soitat uuteen WP_Query-tietokantaan ja saat nämä tiedot takaisin taulukkomuodossa. Käytän yleensä get_posts-toimintoa, kun palautan kotisivun liukusäätimen viestit tai soitan sivupalkkiin joitain aiheeseen liittyviä viestejä. WP_Queryä voidaan käyttää yhtä helposti, mutta se on hyvä tapa vastaanottaa joukko viestejä muuttamatta globaaleja postimuuttujia . Mielestäni se on yksinkertaisin ja helpoin käyttää. Tietojesi palauttamisen jälkeen ei tarvita toimintopuheluita, vaan silmukoidaan taulukon läpi.

Tämä voi olla hieman hämmentävä, joten kysy rohkeasti alla olevissa kommenteissa.

Viite:
WP_Query
pre_get_posts
query_posts
get_posts

Wp_query vs query_posts vs get_posts vs pre_get_posts