Jack The Baker
Jack The Baker

Reputation: 1883

where is wordpress search pagination

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

Answers (2)

MattHamer5
MattHamer5

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' => __( '&laquo;' ),
    'next_text' => __( '&raquo;' ),
    '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

hosein in jast
hosein in jast

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

Related Questions