Intégrer une div entre deux posts de la boucle
Bonjour,
Mon theme utilise infinite scroll. Cependant le délai d'affichage de la page suivant est rédhibitoire (entre 3 et 5 secondes).
Le loader ajax est positionné en bas des pages (10 articles par page).
Je tente de l'intercaler plus haut, entre le 5 ème et 6 ème post afin de déclencher le chargement de la page suivante avant que l'utilisateur atteigne le bas de page.
J'essaie donc d'insérer une div contenant le déclencheur ajax dans le loop après le 5ème post.
Une première fois dans index.php (pour que le déclencheur soit présent en page N°1)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?php
(int) $indexpost=0;
while (have_posts()) : the_post();
get_template_part('template-parts/content', get_post_format());
if($indexpost==5)
{
if ( $GLOBALS['wp_query']->max_num_pages > 1 )
{
?>
<div class="load-more-posts scroll" data-load-type="scroll">
<a href="javascript:void(0)" class="btn btn-load-more secondary-font">
<span class="ajax-loader"></span>
<?php _e('Older Posts', 'minimal-grid') ?>
</a>
</div>
<?php
}
}
++$indexpost;
endwhile; |
et une seconde fois dans la boucle "load-more-post" (pour que chaque page suivante contienne le déclencheur)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <?php
(int) $indexpost=0;
if ( $loop->have_posts() ):
while ( $loop->have_posts() ): $loop->the_post();
ob_start();
get_template_part('template-parts/content', get_post_format());
$output['content'][] = ob_get_clean();
if($indexpost==5)
{
if ( $GLOBALS['wp_query']->max_num_pages > 1 )
{
?>
<div class="load-more-posts scroll" data-load-type="scroll">
<a href="javascript:void(0)" class="btn btn-load-more secondary-font">
<span class="ajax-loader"></span>
<?php _e('Older Posts', 'minimal-grid') ?>
</a>
</div>
<?php
}
}
++$indexpost;
endwhile;wp_reset_postdata();
wp_send_json_success($output);
else:
$output['more_post'] = false;
wp_send_json_error($output);
endif;
wp_die(); |
Sauf que le div n'est pas inséré entre les posts mais toujours en haut de page.
Comment intégrer le div entre deux posts de la boucle ?
Ma recherche sur le net ne m'a donné aucune piste (que je comprenne clairement).
Merci pour votre aide.