J'ai suivi le tutoriel très simple qui se trouve sur cette page: http://wp.tutsplus.com/tutorials/wordpress-pagination-a-primer/ ( Faites défiler la liste jusqu'à "Une meilleure solution") - Cela semble tellement simple. Les liens de pagination sont présents et l'URL change dans la barre d'adresse, mais il n'est pas mis à jour lorsque vous cliquez sur 2 ou 3. .
Site - chrisayreswebdev.com/besh
Je sais que je manque quelque chose, mais je ne sais pas quoi. Des idées? Merci!
EDIT: functions.php:
function paginate() {
global $wp_query;
$total_pages = $wp_query->max_num_pages;
if ($total_pages > 1){
$current_page = max(1, get_query_var('paged'));
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => 'page/%#%',
'current' => $current_page,
'total' => $total_pages,
));
}
}
index.php:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post">
<h1><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php the_title(); ?></a></h1>
<h4>Posted on <?php the_time('F jS, Y') ?></h4>
<div class="horzline"></div>
<p><?php the_content(__('(more...)')); ?></p>
</div>
<?php endwhile; else: ?>
<p><?php _e("Sorry, we couldn't find the post you are looking for."); ?></p>
<?php endif; ?>
<?php paginate(); ?>
Je soupçonne que votre problème est ici:
'base' => get_pagenum_link(1) . '%_%'
Vous passez 1
à get_pagenum_link()
, plutôt que le numéro de page réel . Essayez de transmettre votre $current_page
déterminé précédemment à la place:
'base' => get_pagenum_link( $current_page ) . '%_%'
Note, j'utilise ceci comme base
:
'base' => @add_query_arg('paged','%#%')
J'ai essayé votre suggestion ainsi que le
'@add_query_arg'
que vous utilisez et aucun ne semblait réellement mettre à jour la pagination pour le prochain ensemble de messages. L'URL devient "/ besh/page/2" mais les publications ne changent pas et le numéro de page reste à 1. C'est comme s'il me manquait quelque chose de mon code.
Le mieux que je puisse faire est de vous donner mon code complet et fonctionnel:
/**
* Paginate Archive Index Page Links
*/
function oenology_get_paginate_archive_page_links( $type = 'plain', $endsize = 1, $midsize = 1 ) {
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
// Sanitize input argument values
if ( ! in_array( $type, array( 'plain', 'list', 'array' ) ) ) $type = 'plain';
$endsize = (int) $endsize;
$midsize = (int) $midsize;
// Setup argument array for paginate_links()
$pagination = array(
'base' => @add_query_arg('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'show_all' => false,
'end_size' => $endsize,
'mid_size' => $midsize,
'type' => $type,
'prev_text' => '<<',
'next_text' => '>>'
);
if( $wp_rewrite->using_permalinks() )
$pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
if( !empty($wp_query->query_vars['s']) )
$pagination['add_args'] = array( 's' => get_query_var( 's' ) );
return paginate_links( $pagination );
}