Den ultimata guiden till WordPress Loop

I den här tutorialen ska jag gå igenom Loopen, och hur WordPress använder det för att visa dina inlägg och sidor. Kom ihåg att det här är något mer avancerad än våra tidigare handledning. Förhoppningsvis hittar du den här ultimata guiden lättare att förstå än vad som finns tillgängligt i WordPress-dokumentation. Här är vad vi ska gå igenom:


  • En definition av Loopen.
  • Grundläggande flöde av slingan.
  • Malltaggar som används i Loopen
  • Vad du ska göra efter Loopen
  • Mallfilhierarki

Om du vill få en bättre förståelse för hur ett WordPress-tema verkligen fungerar bakom kulisserna kan du läsa vidare.

Obs! Den här tutorialen antar att du använder ett standard WordPress-tema, som standard Kubrick-tema. Inga avancerade grejer med flera loopar … än.

Vad är The Loop?

Du undrar förmodligen fortfarande vad The Loop till och med är. I grund och botten är det vad som visar innehållet du ser på din hemsida, din enstaka inlägg, sidor, arkiv, sökresultat och mer.

Om en användare öppnar din startsida, arkiv eller sökresultat – kommer Loop som standard att visa ett visst antal inlägg som definierats i dina läsalternativ.

WordPress läsningsalternativ

Just nu, min hemsida visar 10 inlägg per sida, vilket är vad jag definierade Visa högst * inlägg. På enstaka inlägg och sidor – samma grundläggande Loop-kod kommer bara att visa just den specifika sidan.

Grundflöde av slingan

Låt oss dela upp slingan i tre delar.

<?php if (have_posts ()): ?>
<?php while (har_posts ()): the_post (); ?>

1. Vad du vill visa i Loop

<?php samtidigt;?>

2. Vad visas när slingan är över

<?php annars: ?>

3. Om det inte finns något att visa

<?php endif; ?>

Om det finns inlägg tillgängliga i frågan, det kommer att börja visa dem i en medan loop, vad som definieras i del 1. När tiden är över visar den vad som finns i del 2. Om det inte finns några inlägg, eller om det finns något annat 404-fel, del 3 visas.

Malltaggar som används i Loop

Om du inte vill ha 1. Det du vill visa i Loop upprepade på din WordPress-bloggs hemsida 10 gånger, bör du förmodligen lära dig några av de grundläggande malltaggarna. Låt oss titta på koden till index.php i WordPress-standardmallen.

WordPress Loop Breakdown

Som ni ser finns det en hel del mall taggar inom Loop som kommer att skriva ut saker som posttitel, permalänk, innehåll osv. Jag kommer att dela upp alla malltaggar i WordPress standardtema.

  • <?php the_permalink () ?> – Detta kommer att återspegla postens permalänk, dvs http://www.themelab.com/?p=1
  • <?php the_title (); ?> – Detta ekar postens titel, dvs Hello World!
  • <?php the_time (‘F jS, Y’) ?> – Detta kommer att återse datumet, dvs den 4 april 2008. En fullständig lista över sätt att formatera datumet finns på php.net
  • <?php the_author () ?> – Detta visar författarens namn, dvs. Leland. Detta kommenteras i standardtemat.
  • <?php the_tags (‘Taggar:‘, ‘,‘, ‘
    ’); ?>
    – Detta visar taggarna tilldelade inlägget, separerade med komma och följt av en radbrytning
  • <?php the_category (‘,‘) ?> – Detta visar kategorierna på liknande sätt som taggarna ovan.
  • <?php edit_post_link (‘Redigera’, ‘,’ | ‘); ?> – Länken för redigering av inlägg kommer att vara synlig endast för dem med tillstånd.
  • <?php comments_popup_link (‘Inga kommentarer’ ‘,’ 1 kommentar »’,’% Kommentarer» ‘); ?> – Visar länken till kommentarerna. Detta kommer inte att visas på enstaka inlägg eller sidor.

Det finns mycket mer listade på Mall Taggar sida över på WordPress.org. Vissa av dessa kan fungera i Loop, medan andra inte.

Efter slingan

Låt oss titta på koden efter att slingan slutar slinga i standardtemat.

Efter slingan

<?php next_posts_link (‘«Äldre poster’) ?>
<?php previous_posts_link (‘Nyare poster »’) ?>

Som du kanske gissat kommer det att visa paginationen som du ser på hemsidan, arkiven och sökresultaten. Dessa kommer inte att visas på enstaka inlägg och sidor. Naturligtvis kan du ersätta detta med något liknande PageNavi, men det är upp till dig.

Om det inte finns några inlägg att visa (möjligen på grund av ett 404-fel), kommer följande att visas efter det andra

Hittades inte

Tyvärr, men du letar efter något som inte är här.

<?php inkludera (TEMPLATEPATH . "/searchform.php"); ?>

Det visar meddelandet Not Found tillsammans med sökformuläret. I det här fallet måste det finnas en sökformulärkod i en fil som heter searchform.php i mallkatalogen, som det finns i standardtema.

Mallhierarki

Vissa mallfiler kommer att ha prioritet framför index.php för vissa sidtyper om de finns i mallkatalogen. Nedan listas några exempel på mallhierarki, listade i prioritetsordning.

Hemsida

  1. home.php
  2. index.php

Enstaka inlägg

  1. single.php
  2. index.php

sökresultat

  1. search.php
  2. index.php

404 sida

  1. 404.php
  2. index.php

Det finns några mer avancerade tekniker listade på Mallhierarki sida över på WordPress.org.

Så vad är poängen med mallhierarkin? I princip kan du använda det för att skapa nya layouter för olika typer av WordPress-sidor utan att hacka din index.php-fil för mycket.

Slutsats

Så nu har du (förhoppningsvis) en bättre insikt om vad WordPress Loop handlar om. Lämna gärna en kommentar om du gillade den, hatade den, kunde inte förstå vad som helst – jag välkomnar all feedback. Prenumerera på fodret för alla de senaste uppdateringarna av Theme Lab-temaleaser och nya tutorials. Tack för att du läser.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map