✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

WordPress-teeman opetusohjelma aloittelijoille – Osa 4: Post Loop

15

Tällä WordPress-teeman opetusohjelman aloittelijoille oppitunnilla käsittelemme yksityiskohtaisesti WordPressin "postisilmukkaa"; mitä se on, miltä se näyttää, miksi käytämme sitä ja miten pääsemme käsiksi viesteihin. Sen jälkeen ryhdymme toteuttamaan silmukka teemaamme.

Postitussilmukka

Jos olet perehtynyt PHP:hen, saatat huomata, että "silmukka" on tekniikka, jolla käydään läpi taulukon tai objektin jokainen elementti for, foreachtai while. WordPressin silmukka toimii juuri näin. Mutta käytämme WordPressin omia toimintoja silmukassa saadaksemme lisäetuja ja yksinkertaistuksia.

WordPress on aina tiedustellut viestejä puolestasi – riippuen siitä, millä sivulla olet. Jos olet luokkasivulla, WordPress on jo kysellyt kaikki tähän luokkaan liittyvät viestit. Ja jos olet yhdellä viestisivulla, WordPress on jo noutanut kyseisen viestin puolestasi.

Kun haluamme päästä käsiksi viesteihin, joita WordPress on kysellyt malleissamme, lisäämme silmukan. Silmukan sisällä meillä on pääsy jokaiseen viestiin. Ja jokaisen postauksen kohdalla päätämme, mitä näytämme tai teemme.

Huomaa: Jopa yksittäiseen viestiin tai yhden sivun malleihin lisäät silmukan, vaikka tiedämme, että se sisältää vain yhden viestin! Silmukka kulkee vain kerran.

Tässä on WordPress-silmukka kaikessa komeudessaan:

while (have_posts()): the_post(); // Access to each post here endwhile;

Tämä koodinpätkä tekee kaksi asiaa. Osa while(mukaan lukien endwhile) on silmukkaosa, joka kiertää niin kauan kuin viestejä on jäljellä. Toinen osa on se, the_post()joka määrittää yksinkertaistetun ja intuitiivisen pääsyn post-objektiin silmukan sisällä. Opimme siitä lisää myöhemmin.

On hyvä käytäntö kääriä silmukka shekin sisään, joka iftarkistaa, onko pylväitä, joiden läpi silmukka pitää. Sitten voimme myös valinnaisesti näyttää viestin, jos sitä ei ollut. Viestikysely voi olla tyhjä, jos siirryt tyhjään kategoria-arkistoon tai yrität etsiä jotain, jolla ei ole osumia. Tämä on parempi versio silmukasta:

Tutustu tähän koodinpätkään, kun toistat tämän aina, kun haluat käyttää viestejä! Toteutetaan silmukka teemaamme.

Silmukan toteuttaminen teemassamme

Lisätään silmukka joukkoomme index.phpja korvataan valeteksti.

Lisäsin funktion nimeltä the_title()silmukan sisään, joka toistaa viestin otsikon. Tämä on vain sitä, että voimme nähdä silmukan käytännössä. Älä huoli, seuraavassa vaiheessa opimme pääsemään kaikkiin todellisiin julkaisutietoihin.

Katsotaan nyt, mitä WordPressissä tapahtuu. Päivitä etusivu. Asetuksistasi ja sisällöstäsi riippuen sinun pitäisi nähdä joitain nimikkeitä. WordPressissäni on oletusviesti "Hei maailma!" ja toinen luomani viesti nimeltä "Tämä on toinen viesti". Tämän saan etusivulle:

WordPress-teeman opetusohjelma aloittelijoille – Osa 4: Post Loop

Jos yrität vierailla yhdellä viestisivulla, sinun pitäisi nähdä vain yksi otsikko, katsomasi viestin otsikko. Kiva!

Uteliaisille…

Jos olet utelias siitä, mitä silmukka kiertää ja mitä parametreja WordPress käytti tässä kyselyssä, voit tarkistaa sen. Globaalia muuttujaa, johon silmukka viittaa, kutsutaan $wp_query. Sinun on määritettävä se maailmanlaajuisesti, jotta voit käyttää sitä. Yritä var_dump()tulostaa sen koko sisältö. Silmukka kiertää $wp_query->postskiinteistön läpi.

global $wp_query; var_dump($wp_query);

Lisätään yksi tärkeä yksityiskohta silmukkaan index.php; tapa, jolla käyttäjä voi siirtyä seuraavalle ja edelliselle viestisivulle.

Lisätään viestisilmukan navigointi

Muista, että silmukka noutaa WordPress-asetuksissasi > Lukeminen määritetyn määrän viestejä aina, kun olet sivulla, joka näyttää useita viestejä. Jos silmukassa on saatavilla enemmän viestejä kuin tässä määritetty määrä, tarvitsemme tavan navigoida sivujen välillä. Tätä varten voimme käyttää funktiota the_posts_pagination().

Tämä toiminto hyväksyy joitain parametreja mukauttaakseen tulostensa. Voit määrittää sivumäärän ellipsien välissä (kun sivuja on paljon). Voit myös määrittää, mitä tekstit "Edellinen" ja "Seuraava" -sivuille pitäisi olla. Lisään sen ilman parametreja tehdäkseni oletusasetukset, mutta voit säätää sitä, jos haluat.

... while (have_posts()): the_post(); the_title(); endwhile; the_posts_pagination(); } else { ...

Tämä toiminto ei tulosta mitään, jos viestejä on vähemmän tai yhtä suuri kuin viestien määrä sivuasetusta kohden. Joten älä huoli, jos uskot olleen sen väärin, koska et näe tulostetta. Kun sivulla on enemmän viestejä kuin viestejä, tämä toiminto tulostaa div:n, otsikon näytönlukijoita varten (jotka yleensä piilotat CSS:llä) ja joukon sivutuslinkkejä.

Nyt kun tiedämme, miten päästään käsiksi kaikkiin WordPressin meille löytämiin julkaisuihin, seuraava askel on oppia näyttämään, mitä haluamme jokaisesta viestistä. silmukan sisällä.

Dokumentaatio käytetyistä menetelmistä

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja