static function pagination($pages = '', $range = 4, $show_map = false) { $showitems = $range * 2 + 1; $paged = Bw::current_page(); if ($pages == '') { global $wp_query; $pages = $wp_query->max_num_pages; if (!$pages) { $pages = 1; } } if ($pages !== 1) { echo "<div class='pagination'>"; if ($show_map) { echo "<span>Page {$paged} of {$pages}</span>"; } if ($paged > 2 && $paged > $range + 1 && $showitems < $pages) { echo "<a href='" . get_pagenum_link(1) . "'>« First</a>"; } if ($paged > 1) { echo "<a href='" . get_pagenum_link($paged - 1) . "'>‹ Previous</a>"; } for ($i = 1; $i <= $pages; $i++) { if ($pages !== 1 && (!($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'>{$i}</a>"; } } if ($paged < $pages) { echo "<a href='" . get_pagenum_link($paged + 1) . "'>Next ›</a>"; } if ($paged < $pages - 1 && $paged + $range - 1 < $pages && $showitems < $pages) { echo "<a href='" . get_pagenum_link($pages) . "'>Last »</a>"; } echo "</div>"; } }