(che poi sono fondamentalmente la stessa cosa) di WordPress permette di ottenere una lista di post impostando numerosi parametri di ricerca (vedi Very short snippet: visualizzare una lista di post per categoria o tag ). La fonctionnalité utile query_posts() ou objet WP_Query (qui sont fondamentalement la même chose) WordPress permet d'obtenir une liste des paramètres de réglage de recherche post-plusieurs (voir extrait très court: Afficher une liste des postes par catégorie ou des balises ). Précisément en raison de sa polyvalence à la recherche de poste peut arriver que la fonction en utilisant deux ou plusieurs fois dans une rangée vous obtenez le «double». Cela peut se produire, par exemple, lors de la recherche (filtré) pour TAG; un poste, en fait, peut (en fait, a, dans la plupart des cas) ont associé à plusieurs tags. . Il s'ensuit que la liste des messages avec TAG A peut également afficher une liste de messages avec TAG B .
Pour éliminer le problème, vous pouvez procéder de deux façons différentes, en fonction de la version de WordPress. La première est de mettre de côté tous les ID de la première boucle de manière à les exclure dans le second. Cette technique peut être utilisée pour n'importe quel nombre de boucles et de l'avantage d'être compatible avec les anciennes versions de WordPress:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Boucle / / Premier / / Le tableau $ ids [] est utilisée ci-dessous pour garder une trace de / / Id du poste que je suis sorti avec la première boucle array ( ) ; $ Ids = array (); ) ; query_posts ('category_name = flash et showposts = 10'); have_posts ( ) ) : the_post ( ) ; tandis (have_posts ()): the_post (); = $post -> ID ; $ Ids [] = $ post -> ID; / / ... sortie endwhile; / / Boucle de deuxième / / Dans ce cas, la sortie a lieu seulement dans ce qui / / $ Post-> ID n'est pas présent dans le ids $ [] ) ; query_posts ('category_name = & Adobe showposts = 10'); have_posts ( ) ) : the_post ( ) ; tandis (have_posts ()): the_post (); ! in_array ( $post -> ID , $ids ) ) { if ( in_array ($ post -> ID, $ ids)) { / / ... sortie } endwhile; |
Si la sortie de WordPress, nous utilisons est de 2,6 ou plus, nous pouvons appliquer une variante comodoa la deuxième boucle:
1 2 3 4 5 6 7 8 9 10 11 12 | / / Boucle de deuxième / / Wordpress 2.6 + / / Dans ce cas, il est directement query_posts () à / / Exclure les ID des messages déjà affichés query_posts ( 'showposts' => 10 , tableau («showposts '=> 10, 4 , 'Cat' => 4, $ids , «Post__not_in '=> $ ids, )); have_posts ( ) ) : the_post ( ) ; tandis (have_posts ()): the_post (); / / ... sortie endwhile; |
L'option post__not_in avec d'autres est bien documenté ici .










[...] Article original: Undolog.com »WordPress: supprimer les messages en double dans plusieurs boucles Articles connexes: Undolog.com" Très court extrait: Wordpress, dès le [...]
[...] Source: WordPress: supprimer les messages en double dans plusieurs boucles articles connexes: Undolog.com »WordPress: supprimer les messages en double dans la boucle [...]
[...] WordPress: supprimer des postes en double dans plusieurs boucles un petit truc pour éviter une répétition après, quand nous avons deux boucles sur la même page. [...]
Article très intéressant, j'ai une question qui pourrait mettre en œuvre l'exécution du script:
L'utilisation de ce code, si je clique sur la deuxième page, je retourne automatiquement la même après le premier. Comment puis-je éviter cela?
Merci