web-dev-qa-db-fra.com

Utilisez deux limites différentes posts_per_page avec un défilement infini

J'ai une boucle sur ma page d'accueil que j'utilise le défilement infini pour paginer. Pour limiter le temps de chargement de la page d'accueil, je souhaite charger un montant initial inférieur à celui qui est déclenché lorsque le défilement infini est activé pour la première fois. Donc, lors du chargement de la page, je veux charger 10 posts, puis tous les déclencheurs après cela. Je veux que post_per_page soit égal à 25. Est-ce possible? J'utilise le plugin Infinite Scroll Jquery. Pas la version wordpress. J'utilise ce script après la boucle pour déclencher le défilement infini.

<div class="infinitescroll">
<?php next_posts_link( __( 'Load more posts', 'imbalance2' ) ); ?>
</div>

<script type="text/javascript">
 // Infinite Scroll
 var href = 'first';
 $(document).ready(function() {
$('#boxes').infinitescroll({
    navSelector : '.infinitescroll',
    nextSelector : '.infinitescroll a',
    itemSelector : '#boxes .box',
    loadingImg : '<?php echo get_bloginfo('stylesheet_directory') ?>/images/loading.gif',
    loadingText : 'Loading...',
    donetext : 'No more pages to load.',
    debug : false
}, function(arrayOfNewElems) {
    $('#boxes').masonry('appended', $(arrayOfNewElems));
    if (href != $('.infinitescroll a').attr('href'))
    {
        href = $('.infinitescroll a').attr('href');
    }
});
 });
</script>
1
Pollux Khafra
  1. Ajoutez un paramètre à l'URI href pour le lien suivant par code JavaScript. Par exemple ?ppp=25.
  2. Ajoutez un filtre à pre_get_posts, vérifiez si ppp est défini (et un entier positif) et modifiez le paramètre post_per_page en conséquence.

Juste une idée, pas de code, mais cela devrait vous donner une direction. :)

0
fuxia