Wordpress: supprimer les postes en double dans plusieurs boucles
Jeudi, Juillet 2, 2009 Le query_posts() fonction utile query_posts() ou WP_Query objet (qui sont ensuite fondamentalement la même chose) Wordpress vous permet d'obtenir une liste des postes mis beaucoup de paramètres de recherche (voir Très court extrait: afficher une liste des postes par catégorie ou par tag ). Précisément en raison de sa polyvalence dans la recherche de poste ne peut arriver que la fonction en utilisant deux ou plusieurs fois de suite vous avez le "duplicate". Cela peut arriver, par exemple, lorsque vous recherchez (filtres) pour les tags, un poste, en fait, peut (a bel et bien, dans la plupart des cas) sont associés à des tags. Il s'ensuit que la liste des postes avec TAG A mai aussi pour envoyer un message dans la liste des postes à TAG B
Pour éliminer le problème mai procéder de deux manières différentes, selon la version de WordPress. La première est de mettre de côté tous les identifiants de la première boucle de façon à les exclure dans la seconde. Cette technique peut être utilisée pour n'importe quel nombre de boucles et à l'avantage d'être compatible avec les anciennes versions de WordPress:
- / / Première boucle
- / / Le tableau $ ids [] ci-dessous est utilisée pour garder une trace de
- / / Id du poste que je suis sorti avec la première boucle
- ) ; query_posts ( 'category = Flash & showposts = 10');
- have_posts ( ) ) : the_post ( ) ; while (have_posts ()): the_post ();
- = $post -> ID ; $ Ids [] = $ post -> ID;
- / / ... sortie
- endif;
- / / Seconde boucle
- / / Dans ce cas, la sortie n'est que chose
- / / $ Post-> ID n'est pas présent dans le répertoire $ ids []
- ) ; query_posts ( 'category = Adobe & showposts = 10');
- have_posts ( ) ) : the_post ( ) ; while (have_posts ()): the_post ();
- / / ... sortie
- )
- endif;
Si la libération de WordPress que nous utilisons est de 2,6 ou plus, nous pouvons appliquer une comodoa variante de la seconde boucle:
- / / Seconde boucle
- / / WordPress 2.6 +
- / / Dans ce cas query_posts directement () pour
- / / Exclure les IDs des postes déjà affiché
- query_posts (
- 4 , 'cat' => 4,
- $ids , 'post__not_in' => $ ids,
- ));
- have_posts ( ) ) : the_post ( ) ; while (have_posts ()): the_post ();
- / / ... sortie
- endif;
post__not_in Option avec les autres est bien documenté ici.













[...] De l'article original: Undolog.com »Wordpress: supprimer des postes en double dans plusieurs boucles d'articles connexes: Undolog.com" Très court extrait: Wordpress, bientôt sur le [...]
[...] Source: Wordpress: supprimer des postes en double dans plusieurs boucles d'articles connexes: Undolog.com »Wordpress: supprimer des postes en double dans la boucle [...]
[...] Wordpress: supprimer les postes en double dans plusieurs boucles Un petit truc pour éviter la répétition du message lorsque nous avons deux boucles sur la même page. [...]