Vill du utesluta ett (fast)klistrat inlägg från slingan i WordPress?
(fast)klistrade inlägg är ett bra sätt att lyfta fram ditt utvalda content. Det finns dock vissa platser på din website där du inte behöver (fast)klistrat inlägg 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 (fast)klistrade inlägg från loopen i WordPress. Du kanske också vill se vår guide om hur du får en gratis email domain och våra expertval av de bästa WordPress-tilläggen.
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.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
ogunrinde fatai says
I am having similar issue with the broken pagination when removing the sticky post, does anyone has a fix thanks
Sam says
Your code just causes my links to break and i’m not sure why
Stephen says
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 says
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 says
Hi,
i have the same issue, do you found any workaround or another solution?
Super Nguyen says
I have the same problem, my navigation on homepage not working
Agus Almaula says
Thank you so much, just because i am totally wpBeginner i came to this site and my WP development solved.
~agus~
Rut says
Where do I paste this peace of code? I constantly get errors…
Daniel Lemes says
Both methods broke my pagination (page links still there, but load always the same posts), any idea on it?
Rohit Tripathi says
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 says
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 says
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’));