Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man exkluderar det senaste inlägget från WordPress inläggsloopen

När vi hjälper användare att sätta upp sina WordPress-bloggar får vi ofta frågor om att anpassa layouten, särskilt hur man får det senaste inlägget att verkligen sticka ut.

Ibland vill du inte att det senaste inlägget bara ska smälta in i resten av bloggflödet. Du kanske har en speciell design i åtanke eller behöver att det ska visas på en helt annan plats.

Det är där exkludering av det senaste inlägget från WordPress inläggsloopen kommer in. Detta ger dig flexibiliteten att visa det senaste innehållet hur du vill. I den här guiden visar vi dig två sätt att exkludera det senaste inlägget från WordPress inläggsloopen.

Hur man exkluderar det senaste inlägget från WordPress-inläggsloopen

Varför exkludera det senaste inlägget från WordPress-inläggsloopen?

Som standard visar WordPress dina blogginlägg för besökare i omvänd kronologisk ordning, så de nyare inläggen visas först. Du kanske dock vill ändra hur det senaste inlägget ser ut på din anpassade startsida eller WordPress arkivsida.

Genom att utesluta det senaste inlägget från WordPress inläggsloop kan du visa det innehållet på en annan plats och till och med lägga till din egen anpassade stil.

Med det sagt, låt oss se hur du kan dölja det senaste blogginlägget genom att utesluta det från WordPress-inläggsloopen. Använd helt enkelt snabblänkarna nedan för att hoppa direkt till den metod du vill använda:

Det enklaste sättet att utesluta det senaste inlägget från inläggsloopen är att lägga till kod på din WordPress-webbplats.

Vissa guider kommer att säga åt dig att redigera temafiler manuellt, men detta kan orsaka vanliga WordPress-fel och kan till och med helt förstöra din webbplats.

Av den anledningen rekommenderar vi att använda WPCode. Det är det bästa pluginet för kodsnuttar som gör det enkelt att lägga till anpassad kod i WordPress utan att riskera din webbplats.

Först måste du installera och aktivera det kostnadsfria WPCode-pluginet. För mer information, se vår steg-för-steg-guide om hur man installerar ett WordPress-plugin.

När pluginet är aktiverat, gå till Kodavsnitt » + Lägg till kodavsnitt.

Lägga till anpassade kodsnuttar i WordPress

Här ser du alla förgjorda kodavsnitt du kan lägga till på din webbplats. Dessa inkluderar ett kodavsnitt som låter dig helt inaktivera kommentarer, ladda upp filtyper som WordPress normalt inte stöder, inaktivera bilagesidor, och mycket mer.

Du kan nu föra muspekaren över alternativet ‘Lägg till din anpassade kod (ny kodsnutt)’ och klicka på knappen ‘+ Lägg till anpassad kodsnutt’ när den visas.

Klicka på knappen Lägg till anpassad kodsnutt

Välj sedan 'PHP Snippet' som kodtyp från listan med alternativ som visas på skärmen.

Välj PHP-avsnitt som kodtyp

På nästa sida, skriv in en titel för kodavsnittet. Detta är bara för din referens, så du kan använda vad du vill.

Utesluta senaste blogginlägget från WordPress inläggsloop

När det är gjort, klistra helt enkelt in följande i rutan 'Kodförhandsgranskning':

<?php
function wpsites_exclude_latest_post( $query ) {
	if ( $query->is_home() && $query->is_main_query() ) {
		$query->set( 'offset', '1' );
	}
}

add_action( 'pre_get_posts', 'wpsites_exclude_latest_post', 1 );

Efter det, scrolla ner på sidan till avsnittet 'Infogning'.

Om det inte redan är valt, välj sedan 'Infoga automatiskt' och 'Kör överallt'.

Infoga automatiskt kod på en WordPress-webbplats

Skrolla slutligen till toppen av skärmen och klicka på reglaget 'Inaktiv' så att det visar 'Aktiv'.

Klicka sedan bara på knappen 'Spara utdrag' eller 'Uppdatera' för att göra kodutdraget live.

Utesluta senaste blogginlägget från WordPress inläggsloop med WPCode

Nu, om du besöker din WordPress-webbplats, kommer det senaste blogginlägget att vara dolt.

Metod 2: Redigera WordPress-temafiler (ingen plugin krävs)

Noteringar: Den här handledningen fungerar bara med klassiska WordPress-teman, eftersom blockteman har en annan uppsättning temafiler. Om du använder ett blocktema, rekommenderar vi att du använder den första metoden.

Vi rekommenderar också att säkerhetskopiera din webbplats först och/eller använda en staging-miljö för att förhindra fel när du följer denna metod.

Ett annat sätt att utesluta det senaste inlägget från WordPress-inläggsloopen är att lägga till kod i dina WordPress-temafiler.

Detta uppnår ett liknande resultat som koden ovan, men du måste lägga till det direkt i WordPress-loopen där du vill att det ska visas.

Till exempel, om du vill ändra inläggsloopen över hela din webbplats, måste du lägga till koden i din index.php-fil.

Var bara medveten om att lägga till kod direkt i dina WordPress-filer potentiellt kan orsaka problem med paginering på din WordPress-blogg.

Först måste du öppna din WordPress-värdleverantörs filhanterare eller ansluta din webbplats med en FTP-klient.

För den här handledningen kommer vi att använda Bluehosts filhanterare eftersom processen är mycket enklare än att använda FTP. Med det sagt är stegen mer eller mindre desamma oavsett om du använder FTP eller en annan webbhotell.

Om du är en Bluehost-användare, logga in på ditt hostingkontos instrumentpanel och navigera till fliken ‘Webbplatser’. Klicka sedan på ‘Inställningar’ för den webbplats du vill redigera.

Bluehost webbplatsinställningar

Gå nu till avsnittet Snabblänkar.

Klicka sedan på knappen 'Filhanterare'. Bluehost visar dig också din webbplats rotkatalog om du behöver den.

Åtkomst till en webbplats filhanterare i Bluehost

När du väl är inne i filhanteraren måste du lokalisera filen du vill redigera. Låt oss säga att du vill lägga till koden i index.php, då hittar du den i din nuvarande temas mapp, som ligger i public_html/wp-content.

När du är där, högerklickar du bara på index.php-filen och klickar på ‘Redigera’.

Öppna filen index.php i Bluehost filhanterare

Nu behöver du kopiera följande kod och lägga till den i din WordPress-loop:

query_posts('posts_per_page=6&offset=1');

Den här koden säger åt loopen att bara visa 5 inlägg efter det senaste inlägget.

Du måste lägga till koden direkt ovanför din WordPress-loop så att den ser ut ungefär som kodavsnittet nedan:

<?php
query_posts('posts_per_page=6&offset=1');
if ( have_posts() ) {

	// Load posts loop.
	while ( have_posts() ) {
		the_post();

		get_template_part( 'template-parts/content/content', get_theme_mod( 'display_excerpt_or_full_post', 'excerpt' ) );
	}

	// Previous/next page navigation.
	twenty_twenty_one_the_posts_navigation();

} else {

	// If no content, include the "No posts found" template.
	get_template_part( 'template-parts/content/content-none' );

}

Så här ser vår kod ut i Bluehost filhanterare:

Lägga till kod för att utesluta det senaste inlägget i Bluehost filhanterare

När du har lagt till koden klickar du bara på knappen ‘Spara ändringar’.

Gå sedan vidare och förhandsgranska din WordPress-webbplats.

Lär dig fler tips och tricks för att hantera dina WordPress-inlägg

Vill du optimera din WordPress-blogg ytterligare? Kolla in dessa guider:

Vi hoppas att den här artikeln hjälpte dig att lära dig hur du exkluderar det senaste inlägget från WordPress-loopen. Du kanske också vill se vår guide om hur man lägger till inlägg och sidor i WordPress i bulk och våra experttips om de bästa plugin-programmen för relaterade inlägg för WordPress.

Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

41 CommentsLeave a Reply

  1. Finns det något sätt för mig att ta bort bara de 3 översta framhävda inläggen från startsidan?

  2. Hur man tar bort alla inlägg utan utvalda bilder (miniatyrbilder), jag har 9000 att ta bort dem!

  3. Hej allihopa, tack för den här artikeln! Jag vill implementera detta, men när jag försöker får jag ett konstigt problem: inläggen skulle se ut precis som startsidan, och visa en lista över de senaste inläggen snarare än själva inlägget. Min kod är lite annorlunda, eftersom det är en SMTheme. All hjälp kommer att uppskattas mycket. PS: Förlåt för att jag postade två gånger, men koden skrevs fel. Här är den:

  4. Lösningen fungerar bra, tack. men sidnumreringen gick sönder efter att ha applicerat denna kod, jag har försökt men inte lyckats få sidnumreringen att fungera korrekt. Någon lösning för sidnumreringen? .

    • applicera klass på li enligt antalet sidor och en räknare & ge stil till p1c1 som display:none;

  5. Jag har använt två plugins. Ett är "Recent facebook post" för att visa de senaste inläggen i WordPress och "Facebook publish page" för att publicera mina WordPress-inlägg på Facebook. Nu vill jag utesluta det senaste inlägget från Facebook som redan har publicerats från mina WordPress-inlägg.

    Hur kan jag göra det?

    • För att ditt plugin som publicerar innehåll från din Facebook-sida ska fungera, bör det finnas en kontroll för att se om ett inlägg redan har publicerats från WordPress till Facebook. Vi rekommenderar inte användare att redigera plugin-filer direkt. Men om du är bekväm med att redigera php-filer kan du skapa en fork av pluginet som ett nytt plugin och sedan lägga till koden för att uppnå detta.

      Admin

  6. Tack för det utmärkta tipset. Jag hade spenderat timmar på att försöka lista ut detta, och du gjorde det så enkelt!

  7. Hmm, när jag provade den här koden på en kategorisida-loop, kunde den inte behålla inläggen för bara den kategorin, istället agerade den som om det var startsidans loop och visade alla inlägg.

  8. hej, jag har bara en fråga, när jag gör detta, fungerar inte paginering längre, hur kan jag fixa detta?

    tack, förutom det fungerar det perfekt!!

    Skål!

    • Yes, pagination not working. you have found any working solution for pagination, I am still searching .. :(

        • paginering fungerar inte på indexsidan mest så vi kan göra vår egen ajax-pagineringsanrop och mestadels fungerar query_posts() för paginering snarare än WP_Query()

  9. Finns det ett sätt att förskjuta ett inlägg från en kategori?

    T.ex. Jag vill visa alla inlägg förutom det SENASTE inlägget från kategori x

  10. “query_posts(‘posts_per_page=6&offset=1’);” this is not worked for me , while i am using the WP-PageNavi plugin for page navigation. :(

  11. Thanks for the info. Worked well :) Though, I’m encountering another issue for another site I’m currently doing. Is there a way to exclude from the loop only the latest post of a particular category?

    Saken är den att jag har en blogg som publicerar poddar. Framsidan lyfter fram den senaste podden – inlägg publiceras under kategorin: Podcast – med egen styling. Samtidigt visar framsidan även de 5 senaste inläggen, varav det kan inkludera inlägg under kategorin “podcast”. Jag vill bara inte visa det senaste inlägget som publicerats under “Podcast” i loopen, helt enkelt för att det redan visas med sin egen styling. Hoppas du kan hjälpa mig. Tack!

  12. Tack för tipset!
    Men jag undrade om det också finns ett sätt att exkludera inlägget som för närvarande visas på skärmen.

    Om ja, kan du berätta hur jag gör det?

    Tack på förhand!

      • En av mina sidor visar först det senaste eller aktuella inlägget som användaren tittar på.

        Det aktuella inlägget anropas av loopen.

        Nedanför detta inlägg vill jag visa utdrag från andra tidigare inlägg utan att det aktuella inlägget visas i den här listan.

        Föregående inläggsutdrag anropas av query_posts:

        query(‘showposts=3&cat=5’);
        while($previousPosts->have_posts()) : $previousPosts->the_post();
        ?>

        Som du kan se anropar jag 3 inlägg (utdrag) från kategori 5, vilket visar tre inlägg från kategorin Nyheter. Detta verkar okej, men inom dessa 3 inläggsutdrag finns det aktuella inlägget som anropas av loopen också med i listan.
        Vet du något sätt att exkludera det aktuella inlägget från denna lista?

        Tack igen!

        • Tack igen för det snabba svaret!
          Jag provade dock offset=1 i frågan, det enda är att när du klickar på ett äldre inlägg, visas det äldre inlägget i huvudloopen, inom listutdragen exkluderas det senaste inlägget, men det äldre inlägget som nu är det aktuella inlägget finns fortfarande med i utdragslistan.

          Någon idé om hur man exkluderar inte det senaste, utan det aktuella inlägget?

          Thanks so far already :)

  13. Thank you so much for this piece as i was looking for a way to exclude 4 latest posts form my home page and i got answer by this articles and i have replaced (query_posts(‘posts_per_page=6&offset=1’);) by query_posts(‘posts_per_page=6&offset=3’); and its done :)

    • Det är en process i flera steg. Först skulle du behöva en anpassad sidmall. För det andra skulle du behöva skapa den anpassade sidan, din startsida. Sedan skulle du köra en fråga på den anpassade mallen som bara visar klistrade inlägg.

      Admin

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.