Como adicionar a paginação na página de uma categoria ou taxonomia.
Como adicionar a paginação na página de uma categoria ou taxonomia.
O WordPress tem funções nativas para criar sistema de paginação. Mas eu enfrentei algumas dificuldades para colocar a paginação na página das categorias. Mas finalmente achei a solução que funcionou no site do meu cliente. Vou colocar o código aqui e explicar um pouco ele.
$page = (get_query_var('paged')) ? get_query_var('paged') : 1;
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
echo the_title(); // aqui pode colocar qualquer coisa do seu post com html que precisa;
endwhile;
endif; ?>
E abaixo deste código colocamos este. O que você vai precisar mudar aqui é só a parte onde tem o comentário, vai colocar imagem do post, ou permalink dentro do link Leia mais. Acredito que essa parte não precisa ser explicada.
echo paginate_links( array(
'format' => 'page/%#%',
'total' => $wp_query->max_num_pages,
'prev_next' => true,
'prev_text' => __( '<div class="prev"><i class="fa-solid fa-angle-left"></i></div>' ),
'next_text' => __( '<div class="next"><i class="fa-solid fa-angle-right"></i></div>' ),
) );
E agora vai ser um pouco sobre nada. Vou usar algumas palavras-chaves para buscadores mostrarem o meu artigo para quem está pesquisando essa informação. Mas praticamente a solução do problema já foi escrita em cima.
Vamos falar sobre o WordPress. Ele não é fácil. Acontece que é muito complexo o sistema dele. Algumas funções funcionam normalmente num projeto e dão o erro no outro. Mas mesmo assim continuo preferir o WordPress e sistema de paginação dele do que qualquer outro CMS ou até o Laravel. Apesar, que eu gosto do Laravel também. Mas o WordPress com sistema pronta de paginação para arquivos dos posts e categorias, até pode criar uma paginação para posts personalizados ou para arquivos das taxonomias personalizadas. Isso continua sendo fácil.
O sistema de paginação do WordPress para taxonomia já está inclusa no arquivo do slug-taxonomy.php e deve ser apenas chamada. Não precisa usar WP_Query, basta só verificar se tem os posts para essa página e num loop mostrar estes posts. Espero que sabe como fazer isso. Se não, veja este post aqui