Vill du utesluta ett sticky inlägg från loopen i WordPress? Då är du på rätt plats.
Sticky posts är ett bra sätt att lyfta fram ditt innehåll. Enligt vår mening finns det dock vissa platser på din webbplats där du inte behöver klistriga inlägg för att vara högst upp.
I den här artikeln kommer vi att visa dig hur du helt utesluter (fast)klistrade inlägg från slingan i WordPress.
Varför ska du utesluta (fast)klistrade inlägg från slingan?
Att ta bort (fast)klistrade inlägg från en loop på din WordPress-webbplats kan vara till hjälp om du inte vill visa dem i ett visst area på din WordPress-webbplats.
Sticky inlägg är användbara för att lyfta fram viktigt content som gillar dina artiklar, blogginlägg med hög trafik och tidskänsligt innehåll. De kan dock trängas i widgetens area för de senaste inläggen och göra ditt senaste innehåll svårare att komma åt.
Det är här som att utesluta (fast)klistrade inlägg från loopen kommer väl till pass. WordPress kan ej gissa detta så du måste uttryckligen berätta för WordPress att utesluta (fast)klistrade blogginlägg från en custom loop.
Låt oss se hur du kan ta bort (fast)klistrade inlägg från slingan i WordPress.
Utesluta (fast)klistrade inlägg från slingan i WordPress
För att hjälpa dig att utesluta ett sticky inlägg från toppen av slingan eller helt ta bort dem från slingan har vi skapat ett anpassat code snippet.
Eftersom detta är obligatoriskt för att editera kod på din website kan det vara svårt för Beginnare. Om du inte har gjort det här tidigare rekommenderar vi att du går igenom vår guide om hur du klistrar in snippor från webben till WordPress för mer detaljer.
Du kan också överväga att anlita en utvecklare för personlig hjälp.
Hur man ignorerar (fast)klistrade inlägg i WordPress
Den här koden ignorerar att ett inlägg är klistrat och visar inläggen i normal order på din WordPress-blogg.
Genom att använda den här koden kommer dina fast)klistrat inlägg fortfarande att visas i slingan, men de kommer inte att placeras högst upp.
Allt du behöver göra är att enter följande kod i functions.php-filen i ditt theme eller i ett code snippets plugin:
<?php
// The loop arguments
$args = array(
'posts_per_page' => 10,
'ignore_sticky_posts' => 1
);
// The loop
$the_query = new WP_Query($args);
if ($the_query->have_posts()) {
while ($the_query->have_posts()) {
$the_query->the_post();
}
}
Vi rekommenderar att du lägger till den här koden med WPCode, det bästa code snippets plugin för WordPress. Med WPCode kan du säkert och enkelt add to custom code i WordPress, utan att editera ditt temas functions.php-fil.
För att komma igång måste du installera och aktivera det gratis pluginet WPCode. Om du behöver hjälp kan du läsa denna tutorial om hur du installerar ett plugin för WordPress.
När pluginet är aktiverat, head till Code Snippets ” + Add Snippet page från din WordPress dashboard.
Därifrån hittar du alternativet ”Add Your Custom Code (New Snippet)” och klickar på knappen ”Use Snippet” under den.
Därefter kan du add to en titel för ditt snippet, som kan vara vad som helst för att hjälpa dig att komma ihåg vad koden är till för.
Klistra sedan in koden ovan i ”Code Preview” boxen och välj ”PHP Snippet” som code type från dropdown-listan till höger.
Därefter är det bara att toggla omkopplaren från ”Activate” till ”Inaktiverad” och klicka på knappen ”Save Snippet”.
Uteslut helt och hållet (fast)klistrade inlägg från loopen
Nästa, om du använder fast)klistrat inlägg i ett slider plugin, så kanske du ibland vill helt utesluta dina fast)klistrat inlägg från slingan.
Add helt enkelt följande code snippet till din functions.php-fil eller i ett code snippets plugin:
<?php
// The loop arguments
$args = array(
'posts_per_page' => 10,
'post__not_in' => get_option( 'sticky_posts' ) // do not display the sticky posts at all.
);
// The loop
$the_query = new WP_Query($args);
if ($the_query->have_posts()) {
while ($the_query->have_posts()) {
$the_query->the_post();
}
}
Den här koden kommer ej att displayed (fast)klistrade inlägg i inläggsslingan.
Du kan följa samma steg som ovan för att add to denna kod med hjälp av WPCode plugin.
För fler tips om hur du ändrar WordPress themes, kontrollera vår WordPress Theme Cheat Sheet för nybörjare.
Vi hoppas att den här artikeln hjälpte dig att lära dig hur du utesluter klibbiga inlägg från loopen i WordPress. Du kanske också vill se vår guide om hur du visar eller döljer widgets på specifika WordPress-sidor och våra expertval av de bästa relaterade inläggs-pluginsen för WordPress.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
ogunrinde fatai
I am having similar issue with the broken pagination when removing the sticky post, does anyone has a fix thanks
Sam
Your code just causes my links to break and i’m not sure why
Stephen
I am having a problem that the one ”sticky” post shows up as the first ”featured” post so there is the same article listed twice in succession. Any help would be great.
Kyle Shevlin
Don’t know if this happened for anyone else, but using this broke the pagination. My next page of posts would be a repeat of the first page. If this happened to anyone else, do you have a fix?
Umut Kay
Hi,
i have the same issue, do you found any workaround or another solution?
Super Nguyen
I have the same problem, my navigation on homepage not working
Agus Almaula
Thank you so much, just because i am totally wpBeginner i came to this site and my WP development solved.
~agus~
Rut
Where do I paste this peace of code? I constantly get errors…
Daniel Lemes
Both methods broke my pagination (page links still there, but load always the same posts), any idea on it?
Rohit Tripathi
This is really great. One place where you don’t need this is when creating a custom sidebar widget to display recent posts.
Thanks.
Kyle Shevlin
Is there any reason that adding this would remove the functionality of archives and tag cloud links? I, too, am trying to exclude sticky posts from my main blog loop using one loop to operate a featured section and a second to operate everything else. The trouble I’m having comes when I click on links in an archive section or tag cloud. It redirects me back to my first page again. When I remove this exclusionary code, it works just fine. Can’t figure this one out.
chris mccoy
you can also use pre_get_posts so you dont have to alter your main loop.
$query->set(’post__not_in’, get_option(’sticky_posts’));