Dec 6th, 2012
$range is how many numbers to display before and after the current page number.
<div class="pagination"> <p>Go to another page:</p> <ol class="next-prev"> <?php if ($current_page != 1): ?> <li class="prev"><a href="<?php print "$current_full_uri&page=$previous_page"; ?>">Previous</a></li> <?php endif; ?> <?php if ($current_page != $page_count): ?> <li class="next"><a href="<?php print "$current_full_uri&page=$next_page"; ?>">Next</a></li> <?php endif; ?> </ol> <ol class="pages"> <?php for ($x = ($current_page - $range); $x < (($current_page + $range) + 1); $x++): // if it's a valid page number... if (($x > 0) && ($x <= $page_count)): // if we're on current page... if ($x == $current_page): // 'highlight' it but don't make a link print "<li><mark> $x </mark></li>"; // if not current page... else: // make it a link print "<li><a href=\"$current_full_uri&page=$x\"> $x </a></li>"; endif; endif; endfor; ?> <?php // This last part is optional if ($current_page < ($page_count - $range - 1)) { print "<li> ...<a href=\"$current_full_uri&page=$page_count\"> $page_count</a></li>"; } if (($current_page == $page_count - $range - 1)) { print "<li><a href=\"$current_full_uri&page=$page_count\"> $page_count</a></li>"; } ?> </ol> </div>