WordPress-temahandledning för nybörjare – Del 5: Få tillgång till inläggsinformation
Den här lektionen av WordPress-tematens handledning för nybörjare kommer att handla om hur vi kan komma åt och mata ut information som dess länk, titel och mer från varje inlägg när vi är inne i inläggsslingan. Vi gör detta med malltaggar. I processen kommer vi också att lägga till mallarna för singelvy till vårt tema.
I föregående steg lade vi till postloopen som innehåller the_post()
funktionen. Den här funktionen ställer in globala variabler och ser till att vi kan använda enkla och intuitiva funktionsanrop, kallade malltaggar, medan vi är inne i while
loopen.
Vanligaste malltaggar för användning i postslingan
Det här är en lista över de vanligaste malltaggarna du skulle vilja använda för att komma åt information om ett inlägg:
the_title()
ekar inläggets titel.the_permalink()
anger inläggets permalänk/URL.the_content()
matar ut inläggets innehåll (från redaktör)the_excerpt()
ekar av inläggsutdraget. Om utdragsfältet är tomt kommer detta att eka ut de första 55 orden från inläggets innehåll tillsammans med "…"the_ID()
anger postens ID.the_category()
ekar alla associerade kategorier.the_tags()
matar ut alla associerade taggar.the_date()
återspeglar inläggets publiceringsdatum.the_time()
visar inläggets publicerade tid.the_author()
ekar inläggets författares visningsnamnthe_post_thumbnail()
visar inläggets utvalda bild. Vi kommer att lära oss hur du lägger till stöd för utvalda miniatyrer senare i denna handledning.
Det finns många fler. Om du är intresserad, ta en titt på WordPress Codex dokumentation av alla inläggstaggar. Ta en titt utanför rubriken "posttaggar" också för mer – de är lite utspridda på den här sidan.
Låt oss börja implementera några av dessa taggar i vår index.php
. Jag kommer också att lägga till lite mycket grundläggande HTML bara för att formatera utdata bättre. Jag uppmuntrar dig att lägga till din egen HTML! Lägg till div, span, sektioner, rubriker och så vidare med vilka klasser du vill.
Utveckla loopen i index.php
Inne i slingan i vår index.php
skulle jag vilja lägga till en länk som går till inläggets permalänk. Inuti länken skulle jag vilja upprepa inläggets titel. Sedan skulle jag också vilja upprepa inläggets utdrag och dess kategorier.
Vad koden ovan gör är;
- Rad #5 lägger till HTML
<article>
-taggen med ett anroppost_class()
som genererar användbara inläggsklasser – precis sombody_class()
vi använde i ett tidigare steg. - På rad #6-8 lägger vi till en
<h2>
tagg för titeln, med en länk som går till inläggets permalänk (enkel vy). - Rad #9 ekar utdraget av inlägget.
- Och på rad #10 upprepar vi inläggets kategorier. Eftersom jag inte skickar några argument till det här samtalet, är det som standard en
<ul>
lista.
Detta resulterar i följande utdata när du uppdaterar förstasidan:
Vi kommer någonstans! Jag uppmuntrar dig att titta på dokumentationen för varje taggfunktion för vilka parametrar de accepterar. Du kan modifiera resultatet med en hel del! Och bestäm själv vilka malltaggar du ska använda.
Testa att klicka på länken till ett inlägg och se att du kommer till den enda inläggssidan. Du kan nu se att loopen bara visar det ena inlägget. Men eftersom vi för närvarande bara har en mall, index.php
, använder enstaka vy också denna mall. Så den enda uppfattningen är inte särskilt vettig. Vi behöver inte länka till sig själv, och vi vill se hela inläggets innehåll! Låt oss fixa detta genom att skapa vår andra mall i vårt tema.
Skapa enstaka vymallar
Om du minns tillbaka i lektion 1 av WordPress-temahandledningen för nybörjare tittade vi på mallhierarkin? När vi är på ett enda inlägg eller sida, letar WordPress efter single.php
inlägg och page.php
sidor. Om någon av dessa inte hittas faller WordPress tillbaka på singular.php
som delas oavsett inläggstyp. Emellertid implementerar teman i allmänhet single.php
och page.php
på grund av skillnaderna mellan inlägg och sidor. Sidor har inga kategorier och taggar, och eftersom sidor vanligtvis används för statiskt innehåll visar de normalt inte publiceringsdatum eller kommentarer. Detta är dock helt upp till dig.
Vi kommer att skapa single.php
och page.php
för vårt tema. Låt oss börja med inlägg först.
Enstaka inläggsmall
Gör en kopia av index.php
och byt namn på den till single.php
. I single.php
kommer vi att ta bort permalänken (som länkar till sig själv), och byta ut utdraget med hela inläggets innehåll. Och slutligen behöver vi inte arkivnavigering här.
Låt oss lägga till lite mer användbar information; såsom datum för inlägget och namnet på författaren. Återigen, jag uppmuntrar dig att lägga till HTML-taggar för att göra en mycket snyggare HTML-struktur.
Funktionerna the_time()
och the_date()
kommer att eka ut datum och tid i det format du har definierat i adminpanelen > Inställningar. Du kan dock åsidosätta detta genom att tillhandahålla ett annat datumformat som parameter till dessa metoder.
Funktionen the_author()
ekar författarens "visningsnamn". Om användaren inte har angett något annat namn i sin profil kommer detta att eka ut användarnamnet.
Jag rekommenderar starkt att du aldrig skriver ut användarnamn eftersom detta kan utgöra ett säkerhetshot. Se alltid till att någon författare har angett ett korrekt namn, eller använd inte the_author()
.
Så här ser ett enda inlägg ut för mig nu. Grymt bra! Låt oss göra en sidmallen.
En sida mall
Gör en kopia av din single.php
och byt namn på den till page.php
. Allt jag gjorde page.php
var att ta bort allt som inte var relaterat till sidor. Att eka ut kategorier för sidor kommer inte att fungera, och jag tog också bort datum, tid och författare. Detta är vad vi får in page.php
:
Vi börjar äntligen komma någonstans med våra mallar! Men jag kan inte upprepa detta tillräckligt; Jag uppmuntrar dig att modifiera mallarna och parametrarna till funktionerna efter eget tycke. Speciellt att lägga till fler HTML-omslag för att göra det lättare att styla det senare.
I nästa steg går vi lite bort från mallar och går mer in på lite mer backend-kodning av WordPress-teman.