Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save brettalton/7eaf7d6998d5d8bcdb23333807c4d435 to your computer and use it in GitHub Desktop.
Save brettalton/7eaf7d6998d5d8bcdb23333807c4d435 to your computer and use it in GitHub Desktop.
Bootstrap v4-alpha6 Pagination for WordPress
/*
* custom pagination with bootstrap .pagination class
* source: http://www.ordinarycoder.com/paginate_links-class-ul-li-bootstrap/
*/
function bootstrap_pagination( $echo = true ) {
global $wp_query;
$big = 999999999; // need an unlikely integer
$pages = paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
'type' => 'array',
'prev_next' => true,
'prev_text' => __('« Prev'),
'next_text' => __('Next »'),
)
);
if( is_array( $pages ) ) {
$paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
$pagination = '<ul class="pagination">';
foreach ( $pages as $page )
{
// bootstrap-specific class replacements/additions
//
$page = str_replace('page-numbers', 'page-numbers page-link', $page);
if ( strpos($page, 'current') )
{
$page = str_replace('current', '', $page);
$li_class = 'page-item active';
}
else
{
$li_class = 'page-item';
}
//
// end replacements/additions
$pagination .= "<li class='$li_class'> $page </li>";
}
$pagination .= '</ul>';
if ( $echo ) {
echo $pagination;
} else {
return $pagination;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment