Bonjour à tous, depuis plusieurs jours je m'arrache les cheveux à savoir comment intégrer un système de pagination sur ma page de listing des Custom Post Type. J'ai essayé avec la méthode Plugin WP-PageNavi mais rien ne s'affiche. J'ai essayé avec des bouts de codes trouvés sur le net mais rien ne s'affiche non plus donc je voulais savoir si quelqu'un a déjà été confronté à ce soucis ?
Salut,
Voilà le code que j'utilise pour la pagination y compris pour des cpt
//Fonction pagination
//Source : http://www.creativejuiz.fr/blog/tutoriels/une-pagination-wordpress-personnalisee-sans-plugin
function pagination($query) {
$baseURL="http://".$_SERVER'HTTP_HOST'];
if($_SERVER'REQUEST_URI'] != "/")
$baseURL = $baseURL.$_SERVER'REQUEST_URI'];
// Suppression de '/page' de l'URL
$sep = strrpos($baseURL, '/page/');
if($sep != FALSE)
$baseURL = substr($baseURL, 0, $sep);
// Suppression des paramètres de l'URL
$sep = strrpos($baseURL, '?');
if($sep != FALSE){
// On supprime le caractère avant qui est un '/'
$baseURL = substr($baseURL, 0, ($sep-1));
}
$page = $query->query_vars"paged"];
if ( !$page ) $page = 1;
$qs = $_SERVER"QUERY_STRING"] ? "?".$_SERVER"QUERY_STRING"] : "";
// Nécessaire uniquement si on a plus de posts que de posts par page admis
if ( $query->found_posts > $query->query_vars"posts_per_page"] ) {
echo '<nav class="list-pagination">';
echo '<ul class="pagination">';
// lien précédent si besoin
if ( $page > 1 ) {
echo '<li class="next_prev prev"><a title="Revenir à la page précédente (vous êtes à la page '.$page.')" href="'.$baseURL.'/page/'.($page-1).'/'.$qs.'">« précédente</a></li>';
}
// la boucle pour les pages
for ( $i=1; $i <= $query->max_num_pages; $i++ ) {
// ajout de la classe active pour la page en cours de visualisation
if ( $i == $page )
echo '<li class="active"><a href="#pagination" title="Vous êtes sur cette page '.$i.'">'.$i.'</a></li>';
else
echo '<li><a title="Rejoindre la page '.$i.'" href="'.$baseURL.'/page/'.$i.'/'.$qs.'">'.$i.'</a></li>';
}
// le lien next si besoin
if ( $page < $query->max_num_pages )
echo '<li class="next_prev next"><a title="Passer à la page suivante (vous êtes à la page '.$page.')" href="'.$baseURL.'/page/'.($page+1).'/'.$qs.'">suivante »</a></li>';
echo '</ul>';
echo '</nav>';
}
}
Il suffit juste ensuite que tu l'appelles dans ton fic
//si ta boucle est principale
echo pagination($wp_query)
//sinon
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$my_query = new WP_Query(array(
'post_type'=>'ton_cpt',
'paged'=>$paged,
'posts_per_page'=>'12'
))
echo pagination($my_query)
En plus il semblerait que tu aies construit la pagination avec le bootstrap de Twitter x)