Рассмотрим на примере пагинации для категорий
Код:
<?php
// 1 значение по умолчанию
$paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
$the_query = new WP_Query( array(
'posts_per_page' => 8,
'category_name' => get_category( get_query_var('cat') )->slug,
'paged' => $paged,
) );
// цикл вывода полученных записей
while( $the_query->have_posts() ){
$the_query->the_post();
?>
<!-- HTML CODE -->
<?php
}
function my_pagenavi() {
global $wp_query;
$big = 999999999; // уникальное число для замены
$args = array(
'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
'format' => '',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
);
$result = paginate_links( $args );
// удаляем добавку к пагинации для первой страницы
$result = str_replace( '/page/1/', '', $result );
echo $result;
}
my_pagenavi();
?>