Den ultimate guiden til WordPress Loop

I denne opplæringen skal jeg gå over Sløyfen, og hvordan WordPress bruker det for å vise innlegg og sider. Husk at dette er litt mer avansert enn våre tidligere tutorials. Forhåpentligvis vil du finne denne ultimate guiden enklere å forstå enn hva som er tilgjengelig i WordPress-dokumentasjon. Dette er hva vi skal gå over:


  • En definisjon av Sløyfen.
  • Grunnleggende flyt av The Loop.
  • Maletiketter brukt i Sløyfen
  • Hva du skal gjøre etter Sløyfen
  • Malfilhierarki

Hvis du vil få en bedre forståelse av hvordan et WordPress-tema virkelig fungerer bak kulissene, kan du lese videre.

Merk: Denne veiledningen forutsetter at du bruker et standard WordPress-tema, for eksempel standard Kubrick-tema. Ingen avanserte ting med flere looper… ennå.

Hva er The Loop?

Du lurer fortsatt på hva The Loop til og med er. I utgangspunktet er det det som viser innholdet du ser på din hjemmeside, din enkeltinnlegg, sider, arkiver, søkeresultater og mer.

Hvis en bruker får tilgang til hjemmesiden din, arkiver eller søkeresultater – som standard viser Loop et visst antall innlegg som definert i lesealternativene dine.

WordPress lesealternativer

For øyeblikket, min hjemmeside viser 10 innlegg per side, og det er det jeg definerte Vis på det meste * innlegg. På enkeltinnlegg og sider – vil den samme grunnleggende Loop-koden bare vise akkurat den bestemte siden.

Grunnleggende flyt av løkken

La oss dele opp sløyfen i tre deler.

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

1. Hva du vil vises i Loop

<?php imens;?>

2. Hva vises når Loop er over

<?php annet: ?>

3. Hvis det ikke er noe å vise

<?php endif; ?>

Hvis det er innlegg tilgjengelig i spørringen, det vil begynne å vise dem i en samtidig som loop, hva som er definert i del 1. Når tiden er over, vil den vise hva som er i del 2. Hvis det ikke er funnet noen innlegg, eller det er en slags annen 404-feil, del 3 blir vist.

Maletiketter brukt i Loop

Med mindre du vil ha 1. Det du vil ha vist i Loop gjentatt på hjemmesiden til WordPress-bloggen 10 ganger, bør du sannsynligvis lære noen av de grunnleggende malkodene. La oss se på koden til index.php i standard WordPress-mal.

WordPress Loop Breakdown

Som du kan se, det er ganske mange mal tagger innen Loop som vil sende ut ting som posttittel, permalink, innholdet osv. Jeg vil dele opp hver malmalkode i WordPress standardtema.

  • <?php the_permalink () ?> – Dette vil gjengi permalink for innlegget, dvs. http://www.themelab.com/?p=1
  • <?php the_title (); ?> – Dette gjengir posttittelen, dvs. Hello World!
  • <?php the_time (‘F jS, Y’) ?> – Dette gjenspeiler datoen, dvs. 4. april 2008. En full liste over måter å formatere datoen på finner du på php.net
  • <?php the_author () ?> – Dette vil vise forfatterens navn, dvs. Leland. Dette er kommentert i standardtemaet.
  • <?php the_tags (‘Tagger:‘, ‘,‘, ‘
    ‘); ?>
    – Dette vil vise taggene som er tilordnet innlegget, atskilt med komma, og etterfulgt av en linjeskift
  • <?php the_category (‘,‘) ?> – Dette vil vise kategoriene på lignende måte som taggene over.
  • <?php edit_post_link (‘Rediger’, ’,‘ | ‘); ?> – Koblingen for redigeringsinnlegg vil bare være synlig for de med tillatelse.
  • <?php comments_popup_link (‘Ingen kommentarer »’, ‘1 kommentar»’, ‘% kommentarer »’); ?> – Viser lenken til kommentarene. Dette vil ikke vises på enkeltinnlegg eller sider.

Det er mye mer oppført på Maletiketter side over på WordPress.org. Noen av disse fungerer kanskje i Loop, mens andre kanskje ikke.

Etter løkken

La oss se på koden etter at sløyfen slutter å sløyfe i standardtemaet.

Etter Loop-sammenbruddet

<?php next_posts_link (‘«Eldre oppføringer’) ?>
<?php previous_posts_link (‘Nyere oppføringer »’) ?>

Som du kanskje har gjettet, vil dette vise paginasjonen du ser på hjemmesiden, arkivene og søkeresultatene. Disse vises ikke på enkeltinnlegg og sider. Selvfølgelig kan du erstatte dette med noe sånt PageNavi, men det er opp til deg.

Hvis det ikke er noen innlegg å vise (muligens på grunn av en 404-feil), vil følgende vises etter det andre

Ikke funnet

Beklager, men du leter etter noe som ikke er her.

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

Det vil vise Not Found-meldingen sammen med søkeskjemaet. I dette tilfellet må det være en søkeskjema kode i en fil som heter searchform.php i malkatalogen, som det er i standardtemaet.

Mal hierarki

Noen malfiler vil ha prioritet fremfor index.php for bestemte sidetyper hvis de er til stede i malkatalogen. Nedenfor er noen få eksempler på malhierarki, oppført i prioritert rekkefølge.

hjemmeside

  1. home.php
  2. index.php

Enkelt innlegg

  1. single.php
  2. index.php

Søkeresultater

  1. search.php
  2. index.php

404 Side

  1. 404.php
  2. index.php

Det er noen mer avanserte teknikker som er oppført på Mal hierarki side over på WordPress.org.

Så hva er poenget med malhierarkiet? I utgangspunktet kan du bruke det til å lage nye oppsett for forskjellige typer WordPress-sider uten å hacke opp index.php-filen for mye.

Konklusjon

Så nå har du (forhåpentligvis) en bedre innsikt i hva WordPress Loop handler om. Legg gjerne igjen en kommentar hvis du likte den, hatet den, ikke kunne forstå hva som helst – jeg ønsker alle tilbakemeldinger velkommen. Abonner på fôret for alle de siste oppdateringene av Theme Lab-temautgivelser og nye opplæringsprogrammer. Takk for at du leste.

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