Step 1: Put the following code into the template function file functions.php of the WordPress theme you are using.
function kriesi_pagination($query_string){
global $posts_per_page, $paged;
$my_query = new WP_Query($query_string .”&posts_per_page=-1″);
$total_posts = $my_query->post_count;
if(empty($paged))$paged = 1;
$prev = $paged – 1;
$next = $paged + 1;
$range = 2; // only edit this if you want to show more page-links
$showitems = ($range * 2)+1;
$pages = ceil($total_posts/$posts_per_page);
if(1 != $pages){
echo “<div class=’pagination’>”;
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? “<a href='”.get_pagenum_link(1).”‘ rel=’external nofollow’>First</a>”:””;
echo ($paged > 1 && $showitems < $pages)? “<a href='”.get_pagenum_link($prev).”‘ rel=’external nofollow’>Previous</a>”:””;
for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? “<span class=’current’>”.$i.”</span>”:”<a href='”.get_pagenum_link($i).”‘ class=’inactive’ rel=’external nofollow’>”.$i.”</a>”;
}
}
echo ($paged < $pages && $showitems < $pages) ? “<a href='”.get_pagenum_link($next).”‘ rel=’external nofollow’>next page</a>” :””;
echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? “<a href='”.get_pagenum_link($pages).”‘ rel=’external nofollow’>last</a>”:””;
echo “</div>\n”;
}
}
Step 2: Put the following calling code in the WordPress category directory template (archive.php) where you need to display the paging code:
<?php kriesi_pagination($query_string); ?>
Step 3: Add the following CSS styles to style.css of your own template.
.pagination{line-height:23px;text-align:center;}
.pagination:after {clear: both;content: “.”;display: block;height: 0;font-size: 0;visibility: hidden;}
.pagination span, .pagination a{font-size:12px;margin: 2px 6px 2px 0;background:#fff;border:1px solid #e5e5e5;color:#787878;padding:2px 5px 2px 5px;text-decoration:none;}
.pagination a:hover{background: #8391A7;border:1px solid #fff;color:#fff;}
.pagination .current{background: #fff;border:1px solid #8d8d8d;color:#393939;font-size:12px;padding:2px 5px 2px 5px;}
Step 4: Set the number of articles to be displayed per page in the website background. When this number is reached, the pages will be automatically displayed.