0

J'apprécierais de l'aide concernant le répéteur Advanced Custom Fields. Le fait est que je construis une galerie avec le plugin mais j'ai besoin de pagination à la fin de la page. J'affiche les liens de pagination, mais en cliquant ils ne semblent pas fonctionner. Est-ce quelque chose avec l'URL de la page - il ne montre pas le numéro de page dans l'URL. Voici mon code:ACF répétition pagination

<?php 


/* 
* Paginate Advanced Custom Field repeater 
*/ 

if (get_query_var('paged')) { 
    $page = get_query_var('paged'); 
} else { 
    $page = 1; 
} 

// Variables 
$row    = 0; 
$images_per_page = 2; // How many images to display on each page 
$images   = get_field('thumbnail_image_repeater'); 
$total   = count($images); 
$pages   = ceil($total/$images_per_page); 
$min    = (($page * $images_per_page) - $images_per_page) + 1; 
$max    = ($min + $images_per_page) - 1; 
?> 

<?php 
if (have_rows('thumbnail_image_repeater')): 
?> 
    <?php 
    while (have_rows('thumbnail_image_repeater')): 
     the_row(); 
     $row++; 

     // Ignore this image if $row is lower than $min 
     if ($row < $min) { 
     continue; 
     } 

     // Stop loop completely if $row is higher than $max 
     if ($row > $max) { 
      break; 
     } 
?> 

<?php 
     $image   = get_sub_field('thumbnail_image'); 
     $thumbnail_name = get_sub_field('thumbnail_name'); 
?> 



    <li class="col-xs-6 col-sm-4 col-md-3" data-responsive="<?php 
     echo $image['url']; 
?>" data-src="<?php 
     echo $image['url']; 
?>" data-sub-html="<h4><?php 
     echo $thumbnail_name; 
?></h4><p><?php 
     echo $thumbnail_name; 
?></p>" data-pinterest-text="Pin it1" data-tweet-text="share on twitter 1"> 
     <a href=""> 
      <img class="img-responsive" src="<?php 
     echo $image['url']; 
?>" alt="Thumb-1" /> 
     </a> 
    </li> 
     <?php 
    endwhile; 
    // Pagination 
    echo paginate_links(array(
     'base' => get_permalink() . '%#%' . '/', 
     'format' => '?page=%#%', 
     'current' => $page, 
     'total' => $pages, 
     'prev_text' => __('<<<'), 
     'next_text' => __('>>>') 
    )); 
?> 


    <?php 
endif; 
?> 
+1

Essayez de changer le format dans 'paginée =' au lieu de 'page ='. – ibenic

+0

essayé, mais n'a pas fonctionné. Quelque chose d'autre est le problème. Je suppose que quelque chose avec l'URL que wordpress n'ajoute pas/2/à la deuxième page,/3/à la troisième page etc. – Kate

+0

Avez-vous essayé d'ajouter page_url/page/2 au lieu de juste page_url/2? Si cela ne vous aide pas, alors je peux proposer une solution pour enregistrer vos propres réécritures d'url et l'appliquer à votre pagination. – ibenic

Répondre

0

On dirait que vous utilisez une ancienne version de Jonathan Nicol's Repeater pagination. La version que vous utilisez fonctionne uniquement sur les pages intégrées classiques. Je parie que vous l'utilisez sur un type de message personnalisé. Il l'a mis à jour il y a quelques années pour soutenir les CPT. Voici ce qu'il avait à dire:

La variable de requête référencée au début de l'extrait de code devient « page » au lieu de « paginée »:

if(get_query_var('page')) { 
    $page = get_query_var('page'); 
} else { 
    $page = 1; 
} 

Et les options de base et le format passé à paginate_links deviennent:

'base' => get_permalink() . '%#%' . '/', 
'format' => '?page=%#%', 
+0

Salut Leland, j'ai essayé ça avant, mais je n'ai toujours pas travaillé. Le fait est que j'ai lu que vous utilisez 'paged' au lieu de 'page' parce que le second ne concerne que la page d'accueil, et vous utilisez 'paged' pour chaque autre page. Cependant, je vois que dans le blog que vous avez mentionné, «WordPress convertit automagiquement des segments d'URL tels que/2/en une variable de requête nommée« page ». Quand je vais à la deuxième page, par exemple, mon URL ne se convertit pas en url/2 /, mais elle va directement au curseur de la galerie et les images qui sont sur les pages suivantes ne sont pas visibles, seule la petite icône img apparaît. – Kate