the_posts_pagination() — Paginação nativa do WordPress

Time Full Services Time Full Services
Tipo Funções nativas
Nome do erro the_posts_pagination() — Paginação nativa do WordPress
Severidade Informativo
Desde WordPress 4.1
Descrição Gera links de paginação para a query principal de forma acessível, semântica e compatível com SEO, sem necessidade de plugins extras.

Causa

Implementar paginação manualmente com next_posts_link() e previous_posts_link() gera markup inconsistente e não oferece navegação por número de página.

Como resolver

Use the_posts_pagination() para paginação numerada completa. Configure o argumento mid_size para controlar quantas páginas aparecem ao redor da atual.

PHP
<?php
// Em template de arquivo (archive.php, category.php, etc.)
if (have_posts()) :
    while (have_posts()) : the_post();
        // ... template do post
    endwhile;

    the_posts_pagination([
        'mid_size'           => 2,
        'prev_text'          => '&larr; Anterior',
        'next_text'          => 'Próximo &rarr;',
        'screen_reader_text' => 'Navegação de posts',
        'aria_label'         => 'Posts',
    ]);
endif;

// Para queries customizadas (WP_Query)
$query = new WP_Query(['post_type' => 'produto', 'paged' => get_query_var('paged')]);
if ($query->have_posts()) {
    while ($query->have_posts()) { $query->the_post(); /* ... */ }
    wp_reset_postdata();

    echo paginate_links([
        'total'   => $query->max_num_pages,
        'current' => max(1, get_query_var('paged')),
        'format'  => '?paged=%#%',
    ]);
}

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →