' . get_previous_posts_link('← ' . __('Previous', 'bsblog')) . '';
}
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$max = intval($wp_query->max_num_pages);
// Add current page to the array
if ($paged >= 1) {
$links[] = $paged;
}
// Add the pages around the current page to the array
if ($paged >= 3) {
$links[] = $paged - 1;
$links[] = $paged - 2;
}
if (($paged + 2) <= $max) {
$links[] = $paged + 2;
$links[] = $paged + 1;
}
// Link to first page, plus ellipses if necessary
if (!in_array(1, $links)) {
$class = 1 == $paged ? ' active' : '';
printf('
%s' . "\n", $class, esc_url(get_pagenum_link(1)), '1');
if (!in_array(2, $links)) {
echo '
...';
}
}
// Link to current page, plus 2 pages in either direction if necessary
sort($links);
foreach ((array) $links as $link) {
$class = $paged == $link ? ' active' : '';
printf('
%s' . "\n", $class, esc_url(get_pagenum_link($link)), $link);
}
// Link to last page, plus ellipses if necessary
if (!in_array($max, $links)) {
if (!in_array($max - 1, $links)) {
echo '
...' . "\n";
}
$class = $paged == $max ? ' active' : '';
printf('
%s' . "\n", $class, esc_url(get_pagenum_link($max)), $max);
}
if (get_next_posts_link()) {
echo '
' . get_next_posts_link(__('Next', 'bsblog') . ' →') . '';
}
?>