Reputation: 1883
Where is wordpress search pagination?
I used this 'n my search page:
<?php echo paginate_links(); ?>
It return pagination but I want to add bootstrap pagination to this, But I can't find it, where is this? How can I add class?
Upvotes: 0
Views: 1296
Reputation: 1481
Add the following to the bottom of your search.php
file:
<?php
if ( $GLOBALS['wp_query']->max_num_pages <= 1 ) {
return;
}
$args = wp_parse_args(
$args,
array(
'mid_size' => 2,
'prev_next' => true,
'prev_text' => __( '«' ),
'next_text' => __( '»' ),
'screen_reader_text' => __( 'Posts navigation' ),
'type' => 'array',
'current' => max( 1, get_query_var( 'paged' ) ),
)
);
$links = paginate_links( $args ); ?>
<nav>
<ul class="pagination">
<?php
foreach ( $links as $key => $link ) {
?>
<li class="page-item <?php echo strpos( $link, 'current' ) ? 'active' : ''; ?>">
<?php echo str_replace( 'page-numbers', 'page-link', $link ); ?>
</li>
<?php } ?>
</ul>
</nav>
Upvotes: 3
Reputation: 370
I was also searching for the same solution to use it with bootstrap pagination links,
the below code is working 100% in my theme.
function bittersweet_pagination() {
global $wp_query;
if ( $wp_query->max_num_pages <= 1 ) return;
$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',
) );
if( is_array( $pages ) ) {
$paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
echo '<div class="pagination-wrap"><ul class="pagination">';
foreach ( $pages as $page ) {
echo "<li>$page</li>";
}
echo '</ul></div>';
}
}
use the function to call in index.php e.g; or any other file. I also overwrite some bootstrap styling it might help you.
.pagination-wrap {
clear: both;
display: block;
overflow: hidden;
text-align: center;
}
.pagination-wrap .pagination {
margin-bottom: 0;
margin-top: 0;
}
.pagination-wrap .pagination > li:first-child > a,
.pagination-wrap .pagination > li:first-child > span {
border-bottom-left-radius: 0px;
border-top-left-radius: 0px;
}
.pagination-wrap .pagination > li:last-child > a,
.pagination-wrap .pagination > li:last-child > span {
border-bottom-right-radius: 0px;
border-top-right-radius: 0px;
}
.pagination-wrap .pagination > li > a,
.pagination-wrap .pagination > li > span {
background-color: #4FBEBA;
border: 1px solid #1BA5A0;
padding: 10px 15px;
font-weight: bold;
color: #FFFFFF;
}
.pagination-wrap .pagination > li > a:hover,
.pagination-wrap .pagination > li > span:hover,
.pagination-wrap .pagination > li > a:focus,
.pagination-wrap .pagination > li > span:focus {
background-color: #1BA5A0;
border-color: #189690;
}
.pagination-wrap .pagination .current {
background-color: #1BA5A0;
border-color: #189690;
}
.pagination-wrap .pagination .current:hover,
.pagination-wrap .pagination .current span:hover {
background-color: #189690;
border-color: #148781;
}
good luck bro.
Upvotes: 0