Se você é um desenvolvedor raiz que cria seus próprios temas utilizando o CMS WordPress , criar paginação com WordPress e Bootstrap sem a utilização de plugins, pode ser um diferencial na hora de aplicar em seus projetos. Iremos mostrar aqui como criar uma função para utilizar em seus projetos com praticidade e agilidade.
Estamos utilizando aqui o Bootstrap 4.6, mas já vimos que a versão 5 do framework também funcionará da mesma forma. Iremos utilizar as seguintes definições em nosso sistema de paginação:
- Utilização da classe pagination do Bootstrap;
- Padrão visual grande (pagination-lg);
- Exibição Centralizada, com a utilização da classe ‘justify-content-center’;
- Marcar página atual;
- Marcar links desativados;
- Exibição dos botões Next e Prev, com código ASCII;
Você poderá modificar a sua função de acordo com o que for mais adequado para o seu projeto, como por exemplo, remover a classe pagination-lg para a utilização do tamanho padrão dos elementos, mudar o alinhamento mundando a classe justify-content-center para justify-content-right ou justify-content-left e também mudar o conteúdo dos botões Next e Prev, adicionando textos ou fontes personalizadas como o Fontawesome.
Vamos criar paginação com WordPress e Bootstrap na Prática
Indo direto ao ponto, para criar paginação com WordPress e Bootstrap, copie a função abaixo e cole dentro do arquivo functions.php do seu tema. Se seu tema ainda não tem esse arquivo, basta cria-lo utilizando exatamente o mesmo nome citado aqui, que o WordPress irá reconhecer automaticamente.
function ed_get_pagination() { global $wp_query; $big = 999999999; $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' => __('⇦'), 'next_text' => __('⇨'), ) ); if (is_array($pages)) { $paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged'); $pagination = '<nav aria-label="Paginação"><ul class="pagination pagination-lg justify-content-center">'; foreach ($pages as $page) { $pagination .= "<li class='page-item " . (strstr($page, 'dots') ? 'disabled' : (strstr($page, 'current') ? 'active' : '')) . "'>" . str_replace(array('page-numbers'), array('page-link'), $page) . "</li>"; } $pagination .= '</ul></nav>'; echo $pagination; } }
Após ter adicionado a função acima dentro do seu arquivo functions.php, acesse o arquivo no qual seus posts estão listados, provavelmente front-page.php ou home.php e adicione o código ed_get_pagination() logo após a seção dos loopings dos posts.
<div class="row justify-content-center"> <?php global $wp_query; if (have_posts()) : while (have_posts()) : the_post(); (...) // bloco de exibição do post endwhile; else: endif; ?> </div> <?php ed_get_pagination(); // chamada para paginação customizada com Bootstrap ?>
Pronto, sua paginação com WordPress e Bootstrap está ativa e funcional. Espero que esse conteúdo tenha lhe ajudado!
Já conhece nossa pagina de Ferramentas? Nela criamos uma lista das principais ferramentas e recursos que utilizamos no dia a dia e frequentemente adicionamos novos recursos a ela. Clique aqui e saiba mais.