2017-10-12 1 views
-1

J'ai eu un petit problème avec ma boucle wordpress. J'ai créé 2 boucles dans la première page, la première boucle est juste un seul post de la catégorie 'vedette' (genre comme le poste collant). la deuxième boucle juste la boucle normale (exclure ce 1 poste de la catégorie 'vedette').WordPress Boucle multiple - les premières boucles apparaissent en haut de chaque page de message

Cependant, le problème est que ma première boucle (1 poste de la catégorie sélectionnée) s'affiche toujours en haut de chaque page, par exemple, page d'accueil, 2e page de publication, 3e page de publication.

Voici mon code, je ne sais pas ce qui s'est mal passé. aide appréciée.

<?php do_action('responsive_mobile_blog_title'); ?> 

<?php if (have_posts()) : ?> 

<?php get_template_part('template-parts/loop-header'); ?> 

<?php /* Start the Loop */ ?> 
<?php $my_query = new WP_Query('category_name=featured&posts_per_page=1'); 
while ($my_query->have_posts()) : $my_query->the_post(); 
$do_not_duplicate = $post->ID; ?> 
<?php get_template_part('template-parts/content', get_post_format());?> 
<?php endwhile; ?> 
<?php wp_reset_postdata(); ?> 

<?php if (have_posts()) : while (have_posts()) : the_post(); 
if ($post->ID == $do_not_duplicate) continue; ?> 
<?php get_template_part('template-parts/content', get_post_format());?> 
<?php endwhile; endif; ?> 
<?php wp_reset_postdata(); ?> 

<?php responsive_mobile_paging_nav(); ?> 

<?php else : ?> 
<?php get_template_part('template-parts/content', 'none'); ?> 
<?php endif; ?> 

Répondre

0

Vous avez créé un modèle avec 2 boucles, donc bien sûr ces 2 boucles continueront à montrer où ce modèle est utilisé ...

Quand vous dites « 2ème page de post » etc, faire vous voulez dire 2, 3, 4 pages de pagination etc sur la première page?

Si vous souhaitez afficher votre première boucle à la page 1 seulement, vous aurez alors besoin d'ajouter un supplément instruction if autour de votre première boucle, un autre exemple peut être trouvé ici: https://wordpress.stackexchange.com/questions/31065/how-to-determine-if-im-on-the-first-page-of-pagination

+0

Merci beaucoup, mon pote . J'enveloppe la première boucle dans le if (! is_paged()), ça marche super bien maintenant. La première boucle ne s'affiche maintenant que sur la première page, et non sur 2, 3, 4 pages de pagination. auparavant, j'ai modifié le code de boucle multiple directement à partir de l'exemple du Codex wordpress, il n'y a pas if (! is_paged()), donc je n'y ai jamais pensé. il suffit de commencer à apprendre modifier wordpress. Merci beaucoup. – Fan

+0

Pas de problème, si mon message vous a aidé, veuillez le marquer comme la bonne réponse :) – user8753566