✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

WordPress Theme Tutorial för nybörjare – Del 4: The Post Loop

16

I den här lektionen av WordPress-tematens handledning för nybörjare kommer vi att gå in i detalj om "inläggsslingan" i WordPress; vad det är, hur det ser ut, varför vi använder det och hur man får åtkomst till inlägg. Vi kommer sedan att implementera slinga i vårt tema.

Postslingan

Om du är bekant med PHP kanske du känner igen att en "loop" är en teknik för att gå igenom varje element i en array eller ett objekt med for, foreacheller while. Slingan i WordPress fungerar precis så. Men vi kommer att använda WordPress egna funktioner för att loopa för att få ytterligare fördelar och förenklingar.

WordPress har alltid frågat efter inläggen åt dig – beroende på vilken sida du är på. Om du är på en kategorisida har WordPress redan frågat efter alla inlägg som är associerade med denna kategori, och om du är på en enda inläggssida har WordPress redan hämtat det inlägget åt dig.

När vi vill komma åt inläggen WordPress har frågat efter i våra mallar lägger vi till loopen. Inne i slingan har vi tillgång till varje inlägg. Och för varje inlägg bestämmer vi vad vi ska visa eller göra.

Obs: Även i mallar för ett inlägg eller en sida kommer du att lägga till en loop, även om vi vet att den bara innehåller ett inlägg! Slingan går helt enkelt bara en gång.

Här är WordPress-slingan i all ära:

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

Den här kodbiten gör två saker. Delen while(inklusive endwhile) är den looping delen som kommer att loopa hur långa det finns några inlägg kvar. Den andra delen är den the_post()som skapar förenklad och intuitiv åtkomst till postobjektet inuti slingan. Vi kommer att lära oss mer om det senare.

Det är bra att linda öglan i en ifcheck som kontrollerar om det faktiskt finns några stolpar att gå igenom. Då kan vi också valfritt visa ett meddelande om det inte fanns. Inläggsfrågan kan vara tom om du går till ett tomt kategoriarkiv eller försöker söka efter något som inte har några träffar. Det här är en bättre version av slingan:

Bekanta dig med denna kodbit eftersom du kommer att upprepa detta när du vill komma åt inlägg! Låt oss implementera loopen i vårt tema.

Implementera loopen i vårt tema

Låt oss lägga till slingan i vår index.php, ersätter dummytexten.

Jag lade till en funktion som heter the_title()inuti loopen som ekar inläggets titel. Detta är bara för att vi kan se loopen i praktiken. Oroa dig inte, vi kommer i nästa steg att lära oss allt om att komma åt all faktisk inläggsinformation.

Låt oss se vad som händer i WordPress nu. Uppdatera framsidan. Beroende på dina inställningar och innehåll bör du se några titlar visas. I min WordPress har jag standardinlägget "Hello world!" och ett annat inlägg jag skapade med titeln "Det här är ett annat inlägg". Detta är vad jag får på förstasidan:

WordPress Theme Tutorial för nybörjare – Del 4: The Post Loop

Om du försöker besöka en enskild inläggssida bör du bara se en titel, titeln på inlägget du tittar på. Trevlig!

För de nyfikna…

Om du är nyfiken på vad slingan går igenom och vilka parametrar WordPress använde för den här frågan, kan du kolla in det. Den globala variabeln som slingan refererar till kallas $wp_query. Du måste definiera det globalt för att komma åt det. Försök att använda var_dump()för att skriva ut hela innehållet. Slingan går genom $wp_query->postsfastigheten.

global $wp_query; var_dump($wp_query);

Låt oss lägga till en viktig detalj till vår loop in index.php; ett sätt för användaren att navigera till nästa och föregående sida med inlägg.

Lägger till postloopnavigering

Tänk på att slingan kommer att hämta antalet inlägg som definierats i dina WordPress-inställningar > Läsning, närhelst du är på en sida som visar flera inlägg. Om det finns fler inlägg tillgängliga i slingan än det antal som definieras här, behöver vi ett sätt att navigera mellan sidorna. För detta kan vi använda funktionen the_posts_pagination().

Den här funktionen accepterar vissa parametrar för att anpassa dess utdata. Du kan definiera antalet sidor mellan ellipserna (när det finns många sidor). Du kan också definiera vad texterna för länkarna för "Föregående" och "Nästa" ska vara. Jag lägger till det utan några parametrar för att göra standardinställningarna, men du kan justera det om du vill.

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

Den här funktionen ger absolut ingenting om det finns färre eller lika många inlägg som antal inlägg per sida. Så oroa dig inte om du tror att du har gjort fel eftersom du inte ser någon utdata. När det väl finns fler inlägg än inlägg per sida matar den här funktionen ut en div, en rubrik för skärmläsare (som du vanligtvis döljer med CSS) och ett antal sideringslänkar.

Nu när vi vet hur vi får tillgång till alla inlägg som WordPress har hittat åt oss, är nästa steg att lära sig hur man visar vad vi vill ha från varje inlägg; inuti slingan.

Dokumentation om använda metoder

Inspelningskälla: awhitepixel.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer