Voulez-vous exclure une publication épinglée de la boucle dans WordPress ? Vous êtes au bon endroit.
Les publications épinglées sont un excellent moyen de mettre en avant vos fonctionnalités avant. Cependant, à notre avis, il y a certains endroits de votre site où vous n’avez pas besoin que les publications épinglées soient en haut de l’affiche.
Dans cet article, nous allons vous afficher comment exclure complètement les publications épinglées de la boucle dans WordPress.
Pourquoi exclure les publications épinglées de la boucle ?
Retirer les publications épinglées d’une boucle de votre site WordPress peut être utile si vous ne souhaitez pas les afficher dans une zone particulière de votre site WordPress.
Lespublications épinglées sont utiles pour mettre en avant des contenus importants comme vos articles piliers, les articles de blog à fort trafic et les contenus sensibles au temps. Cependant, ils peuvent encombrer votre widget des publications les plus récentes et rendre votre dernier contenu plus difficile d’accès.
C’est là que l’exclusion des publications épinglées de la boucle s’avère utile. WordPress ne peut pas le deviner, vous devez donc lui dire explicitement d’exclure les publications de blog non épinglées d’une boucle personnalisée.
Voyons comment vous pouvez retirer les publications épinglées de la boucle dans WordPress.
Exclure les publications épinglées de la boucle dans WordPress
Pour vous aider à exclure une publication épinglée du début de la boucle ou à la retirer complètement de la boucle, nous avons créé un extrait de code personnalisé.
Comme cela nécessite de modifier le code de votre site, cela peut être délicat pour les débutants. Si vous n’avez jamais fait cela auparavant, nous vous recommandons de consulter notre guide sur la façon de coller des extraits du web dans WordPress pour plus de détails.
Vous pouvez également envisager de faire appel à une développeuse/développeuse pour une aide personnalisée.
Comment ignorer les publications épinglées dans WordPress
Ce code ne tient pas compte du fait qu’un article est épinglé et affiche les publications dans l’ordre normal sur votre blog WordPress.
En utilisant ce code, vos publications non épinglées apparaîtront toujours dans la boucle, mais elles ne seront pas placées en haut.
Il vous suffit de saisir le code suivant dans le fichier functions.php de votre thème ou dans une extension d’extraits de code:
<?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();
}
}
Nous vous recommandons d’ajouter ce code avec WPCode, la meilleure extension d’extraits de code pour WordPress. Avec WPCode, vous pouvez ajouter facilement et en toute sécurité du code personnalisé dans WordPress, sans modifier le fichier functions.php de votre thème.
Pour Premiers pas, vous devez installer et activer l’extension gratuite WPCode. Si vous avez besoin d’aide, consultez ce tutoriel sur l ‘installation d’une extension WordPress.
Une fois le plugin activé, dirigez-vous vers la page Code Snippets » + Ajouter un extrait depuis votre tableau de bord WordPress.
Trouvez ensuite l’option « Ajouter votre code personnalisé (nouvel extrait) » et cliquez sur le bouton « Utiliser l’extrait » situé en dessous.
Ensuite, vous pouvez ajouter un titre à votre extrait, qui peut être n’importe quoi pour vous aider à vous souvenir de l’objet du code.
Ensuite, collez le code ci-dessus dans le champ « Prévisualisation du code » et sélectionnez « Extrait PHP » comme type de code dans la liste déroulante à droite.
Ensuite, il suffit de permuter le commutateur de « Inactif » à « Actif » et de cliquer sur le bouton « Enregistrer l’extrait ».
Exclure complètement les publications épinglées de la boucle
Ensuite, si vous utilisez des publications épinglées dans une extension Diaporama, vous pouvez parfois vouloir exclure complètement vos publications épinglées de la boucle.
Il suffit d’ajouter l’extrait de code suivant à votre fichier functions.php ou dans une extension d’extraits de code:
<?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();
}
}
Ce code n’affichera aucun message non épinglé dans la boucle de publication.
Vous pouvez suivre les mêmes étapes que ci-dessus pour ajouter ce code à l’aide de l’extension WPCode.
Pour plus d’astuces sur la modification des thèmes WordPress, consultez notre Aide-mémoire sur les thèmes WordPress pour les débutants.
Nous espérons que cet article vous a aidé à apprendre comment exclure les publications épinglées de la boucle sur WordPress. Vous pouvez également consulter notre guide sur la façon d’afficher ou de masquer les widgets sur des pages WordPress spécifiques et nos choix d’experts des meilleures extensions de publications liées à WordPress.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et 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’));