---
title: "Paginação no tema WordPress: O guia técnico em 5 passos"
description: "A paginação no tema WordPress é o conjunto de links numerados que divide uma lista longa de posts em páginas navegáveis."
url: https://full.services/paginacao-tema-wordpress/
date: 2026-06-27
author: "Clayton Margiotti"
---

# Paginação no tema WordPress: O guia técnico em 5 passos

Adicionar **paginação no tema WordPress** exige uma única chamada de função no template de arquivo do tema. Segundo as [WordPress Developer Docs](https://developer.wordpress.org/reference/functions/the_posts_pagination/) (2026), a função the_posts_pagination() existe no core desde a versão 4.1 e gera a navegação numerada. Sem ela, o tema repete o mesmo limite de 10 posts. O caminho certo depende de você usar o loop principal ou um WP_Query próprio.

A paginação no tema WordPress é o conjunto de links numerados que divide uma lista longa de posts em páginas navegáveis. Ela aparece nos templates de arquivo (`archive.php`, `index.php`, `category.php`) quando o número de posts ultrapassa o limite definido em Configurações > Leitura. Sem paginação, o visitante vê só os primeiros posts e os demais ficam inacessíveis sem busca. Neste guia você vai configurar a paginação com funções reais do core, tratar o caso do `WP_Query` custom e decidir entre código e plugin. Para o panorama completo de personalização, veja o hub de [conteúdos sobre temas WordPress da FULL](https://full.services/temas-wordpress/).

---

## Diagnóstico rápido: Por que some a paginação no tema WordPress

A paginação no tema WordPress desaparece por três causas que respondem por boa parte dos tickets de tema no suporte da FULL: o template de arquivo não chama função de navegação, o `WP_Query` custom ignora a variável `paged`, ou o limite de posts por página em Configurações > Leitura está alto (padrão 10). A tabela abaixo cruza sintoma, causa raiz e correção.

<table id="diagnostico-paginacao-tema-wordpress">
  <caption>Paginação no tema WordPress: sintomas, causas e correções</caption>
  <thead>
    <tr>
      <th scope="col">Sintoma</th>
      <th scope="col">Causa raiz</th>
      <th scope="col">Ação corretiva</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Nenhum link de página aparece</th>
      <td>Template de arquivo sem chamada de função</td>
      <td>Adicionar the_posts_pagination() após o loop</td>
    </tr>
    <tr>
      <th scope="row">Página 2 retorna erro 404</th>
      <td>WP_Query custom sem o parâmetro paged</td>
      <td>Passar 'paged' => get_query_var('paged') no WP_Query</td>
    </tr>
    <tr>
      <th scope="row">Tudo cabe em uma página só</th>
      <td>Posts por página alto em Leitura</td>
      <td>Reduzir o limite em Configurações &gt; Leitura</td>
    </tr>
  </tbody>
</table>

O erro 404 na página 2 é o mais comum em temas customizados. Ele acontece porque o `WP_Query` não sabe em qual página está, então o WordPress monta a query da página 1 e devolve um conteúdo que a URL `/page/2/` não reconhece como válido. Das três causas, só esse 404 exige editar a query do tema; as outras duas se resolvem em uma função ou num campo do painel.

---

## Passo a passo: Adicionar paginação no tema WordPress

Adicionar paginação no tema WordPress leva cerca de 5 minutos no loop principal e usa funções nativas, sem plugin. A função `the_posts_pagination()` foi introduzida no core na versão 4.1, em <time datetime="2014-12">dezembro de 2014</time>, e desde então é o método recomendado pelo Theme Handbook. Os passos abaixo cobrem o caso mais frequente, que é a navegação no `index.php` ou `archive.php` do tema, sempre depois de fechar o [loop principal do WordPress](https://full.services/glossario/loop-wordpress/).

### Passo 1: Localize o fim do loop no template

Abra `index.php` ou `archive.php` no editor de arquivos do tema e encontre a linha `endwhile;` que fecha o `while ( have_posts() )`. A navegação de paginação entra logo após esse `endwhile;` e antes do `else:` que trata a ausência de posts. Esse posicionamento garante que os links só apareçam quando há posts listados.

### Passo 2: Chame the_posts_pagination com argumentos

Insira `the_posts_pagination()` depois do `endwhile;`. Os argumentos `mid_size` (padrão 2) controlam quantos números aparecem de cada lado da página atual, e `prev_text`/`next_text` definem os rótulos. Um exemplo enxuto: `the_posts_pagination( array( 'mid_size' => 1, 'prev_text' => 'Anterior', 'next_text' => 'Próxima' ) );`. A função ecoa a saída de `get_the_posts_pagination()` direto no template.

### Passo 3: Ajuste o número de posts por página

Vá em Configurações > Leitura e defina "As páginas do blog devem mostrar no máximo". O padrão é 10. Esse valor alimenta a propriedade `max_num_pages` da query, que `the_posts_pagination()` lê para saber quantas páginas gerar. Se o total de posts não passar desse número, nenhum link aparece, e isso não é bug.

### Passo 4: Estilize a navegação com CSS

A saída fica dentro de `<nav class="navigation pagination">`, com cada número em `` e o atual em ``. Mire essas classes no `style.css` do tema para aplicar espaçamento, cor e estado ativo. Como a marcação é padronizada, o mesmo CSS serve para qualquer template de arquivo do tema.

### Passo 5: Valide a navegação na página 2

Acesse `/page/2/` do arquivo e confirme que o conteúdo muda e que a página 2 não devolve 404. Se o loop for o principal, funciona direto. Se for um `WP_Query` custom, o erro 404 indica o parâmetro `paged` ausente, que o próximo H2 resolve com `get_query_var`.

---

## Paginação em wp_query custom: O detalhe do paged

Em uma `WP_Query` própria, a paginação no tema WordPress quebra na página 2 porque a query não recebe a página atual. A correção tem uma linha: declarar `'paged' => get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1` dentro dos argumentos do `WP_Query`. Sem isso, a query devolve sempre o primeiro conjunto e a URL `/page/N/` retorna 404, o que confunde até quem programa PHP no WordPress há anos.

Há uma armadilha de nomenclatura aqui. A variável é `paged` (com "d") para o loop de arquivo e o loop principal, mas é `page` (sem "d") quando a paginação ocorre dentro de um post ou página estática usando a tag `<!--nextpage-->`. Trocar uma pela outra produz exatamente o mesmo 404 silencioso, e o pior é que a página 1 carrega normalmente, então o problema só aparece quando alguém clica para a segunda página. Em um `functions.php` de tema custom, mantenha as duas variáveis mapeadas para não depurar no escuro, prática que documentamos junto ao [arquivo functions.php do tema](https://full.services/glossario/functions-php/).

---

## The_posts_pagination ou paginate_links: Qual usar

Ao montar a paginação no tema WordPress, a escolha entre `the_posts_pagination()` e `paginate_links()` define o controle sobre a marcação. A primeira é um atalho de alto nível para o loop principal e exige uma linha. A segunda, no core desde a versão 2.1, retorna os links como string ou array e aceita o argumento `type`, o que dá controle fino sobre o HTML.

O argumento `type` aceita três valores: `plain` (string com quebras de linha), `list` (envolve tudo em `<ul>`) e `array` (devolve cada link separado para você montar a estrutura). Para listas de posts de um `WP_Query` custom, `paginate_links()` com `'total' => $query->max_num_pages` dá o resultado mais previsível, porque você passa o total de páginas na mão em vez de depender da query global.

Quatro ferramentas reais compõem esse terreno: `the_posts_pagination()` e `paginate_links()` no core, o plugin WP-PageNavi para quem quer painel visual, e a `WP_Query` como fonte do `max_num_pages`. Em temas de blocos (FULL Site Editing), a navegação vira o bloco Query Pagination, que por baixo dos panos também chama `paginate_links()`. Quem migra de [criação de temas WordPress clássicos](https://full.services/recursos-para-aprender-a-criar-temas-para-wordpress/) para FSE encontra o mesmo motor com interface nova.

---

## WP-PageNavi e plugins: Quando o código não compensa

O plugin WP-PageNavi entrega a paginação no tema WordPress sem editar PHP, e faz sentido em cenários específicos. Ele troca a função `posts_nav_link()` por uma navegação numerada configurável por painel, com mais de um milhão de instalações ativas no diretório do WordPress.org. Para um cliente que não toca em código, é um atalho legítimo.

A decisão segue a regra que repetimos no suporte da FULL: plugin de paginação se justifica quando ninguém da equipe edita o tema; caso contrário, `the_posts_pagination()` entrega o mesmo resultado sem peso adicional. Adicionar um plugin a mais carrega CSS e JS extras em toda página de arquivo, e em sites grandes um plugin a menos ajuda o [desempenho do blog](https://full.services/o-que-e-um-blog-e-como-ele-e-diferente-de-um-site/) mensurado no PageSpeed Insights. A escolha não é só técnica, é de quem vai manter o site no dia a dia.

---

## Acelere a personalização do seu tema com a FULL

Editar `archive.php`, ajustar o `WP_Query` e estilizar a navegação são tarefas que pedem um ambiente com os plugins certos já ativos. No plano PRO da FULL, por R$849, você ativa Elementor PRO, Astra PRO, Crocoblock e outros 14 plugins premium com um clique, o que dá menos de R$85 por site quando você gerencia uma carteira de 10 ou mais projetos. A gente vê no suporte que muito tempo de tema se perde licenciando plugin a plugin em cada instalação, repetindo o mesmo cadastro de licença dezenas de vezes. Com a ativação centralizada, esse trabalho manual some: o Astra PRO entra como tema base e o Crocoblock cobre os templates de arquivo onde a paginação vive. Conheça os [planos da FULL](https://full.services/planos) e centralize a ativação dos plugins de tema em um painel só, sem repetir licenças site a site.

<aside aria-label="Metodologia dos Testes">
## Metodologia dos testes
<p>As funções deste guia foram conferidas contra a documentação oficial do core entre <time datetime="2026-05">maio</time> e <time datetime="2026-06">junho de 2026</time>, em WordPress 6.x com PHP 8.2. Validamos o comportamento de the_posts_pagination(), paginate_links() e do parâmetro paged em um tema clássico baseado em arquivo e em um tema de blocos com FULL Site Editing. Cada caminho foi testado na página 2 de um arquivo de categoria para reproduzir o erro 404 do WP_Query custom. A referência primária foi o Theme Handbook das WordPress Developer Docs, e o comportamento dos argumentos mid_size, end_size e type foi cruzado com a Code Reference para evitar suposição sobre valores padrão.</p>
</aside>

<p class="wp-caption-text">Legenda: a navegação numerada gerada por the_posts_pagination() comprova que o template de arquivo lê o max_num_pages corretamente.</p>

## Perguntas frequentes sobre paginação no tema WordPress

<details>
  <summary>Por que a página 2 do meu arquivo retorna erro 404?</summary>
  <p>O erro 404 na página 2 acontece quando um WP_Query custom não recebe o parâmetro paged. O WordPress monta a query da página 1 e a URL /page/2/ deixa de existir para aquele template. A correção é declarar 'paged' => get_query_var('paged') nos argumentos do WP_Query. No loop principal isso já vem resolvido, então o problema só aparece em queries próprias dentro do tema.</p>
</details>

<details>
  <summary>É possível adicionar paginação no tema sem instalar nenhum plugin?</summary>
  <p>Sim, a paginação no tema WordPress funciona só com funções do core, sem plugin. Basta chamar the_posts_pagination() depois do endwhile do loop no archive.php ou index.php. A função existe desde a versão 4.1 e gera a navegação numerada automaticamente. Plugins como WP-PageNavi são opcionais e fazem sentido apenas quando ninguém da equipe edita o código do tema diretamente.</p>
</details>

<details>
  <summary>Qual a diferença entre the_posts_pagination e paginate_links?</summary>
  <p>A função the_posts_pagination() é um atalho de alto nível que ecoa a navegação do loop principal em uma linha. A paginate_links(), no core desde a versão 2.1, retorna os links como string ou array e aceita o argumento type com os valores plain, list e array. Use paginate_links() quando precisar de controle sobre a marcação ou quando paginar um WP_Query custom com 'total' => max_num_pages.</p>
</details>

<details>
  <summary>Como controlar quantos números de página aparecem na navegação?</summary>
  <p>O argumento mid_size define quantos números aparecem de cada lado da página atual, com padrão 2, e o end_size define quantos aparecem nas pontas, com padrão 1. Passe mid_size => 1 para uma navegação mais enxuta. Ambos os argumentos valem tanto para the_posts_pagination() quanto para paginate_links(), porque a primeira repassa os parâmetros para a segunda por baixo dos panos.</p>
</details>

<details>
  <summary>A paginação muda em temas de blocos com FULL Site Editing?</summary>
  <p>Em temas de blocos com FULL Site Editing, a paginação vira o bloco Query Pagination, configurado no editor visual em vez do PHP. Por baixo dos panos, esse bloco também chama paginate_links(), então o comportamento de página e o parâmetro paged seguem a mesma lógica do tema clássico. Quem mantém os dois tipos de tema usa o mesmo raciocínio de max_num_pages para depurar a navegação.</p>
</details>

## Próximos passos para dominar os templates do tema

Configurar a paginação no tema WordPress se resume a uma decisão: usar `the_posts_pagination()` no loop principal, `paginate_links()` no `WP_Query` custom, ou o bloco Query Pagination no FULL Site Editing. Os três leem o mesmo `max_num_pages`, então depurar a página 2 é sempre verificar o parâmetro `paged`. Com a navegação resolvida, o próximo terreno é a estrutura do template, do [child theme](https://full.services/glossario/child-theme/) à template tag certa para cada arquivo, tema que a [categoria de temas WordPress da FULL](https://full.services/temas-wordpress/) aprofunda. Para continuar aprendendo, o [FULL Academy](https://full.services/academy/) reúne tutoriais, guias e reviews de tema em um só lugar.


---

## Metadados Estruturados (Schema.org)

```json-ld
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://full.services/paginacao-tema-wordpress/#article",
      "headline": "Paginação no tema WordPress: O guia técnico em 5 passos",
      "description": "A paginação no tema WordPress é o conjunto de links numerados que divide uma lista longa de posts em páginas navegáveis.",
      "url": "https://full.services/paginacao-tema-wordpress/",
      "datePublished": "2026-06-27T09:00:00-03:00",
      "dateModified": "2026-06-27T09:00:00-03:00",
      "inLanguage": "pt-BR",
      "articleSection": "Temas WordPress",
      "keywords": [
        "paginacao no tema wordpress",
        "WordPress Themes",
        "Web Design",
        "WordPress Templates"
      ],
      "author": {
        "@id": "https://full.services/#person-clayton"
      },
      "publisher": {
        "@id": "https://full.services/#org"
      },
      "about": [
        {
          "@type": "Thing",
          "name": "WordPress Themes"
        },
        {
          "@type": "Thing",
          "name": "Web Design"
        },
        {
          "@type": "Thing",
          "name": "WordPress Templates"
        }
      ],
      "mentions": [
        {
          "@type": "Organization",
          "name": "WordPress",
          "url": "https://wordpress.org/",
          "@id": "https://www.wikidata.org/wiki/Q13166",
          "sameAs": "https://www.wikidata.org/wiki/Q13166"
        }
      ],
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://full.services/paginacao-tema-wordpress/"
      },
      "wordCount": 2116,
      "citation": [
        {
          "@type": "CreativeWork",
          "name": "WordPress Developer Docs",
          "url": "https://developer.wordpress.org/reference/functions/the_posts_pagination/",
          "publisher": {
            "@type": "Organization",
            "name": "WordPress Developer Docs"
          }
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://full.services/paginacao-tema-wordpress/#faq",
      "isPartOf": {
        "@id": "https://full.services/paginacao-tema-wordpress/#article"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "@id": "https://full.services/paginacao-tema-wordpress/#faq-q1",
          "name": "Por que a página 2 do meu arquivo retorna erro 404?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "O erro 404 na página 2 acontece quando um WP_Query custom não recebe o parâmetro paged. O WordPress monta a query da página 1 e a URL /page/2/ deixa de existir para aquele template. A correção é declarar 'paged' => get_query_var('paged') nos argumentos do WP_Query. No loop principal isso já vem resolvido, então o problema só aparece em queries próprias dentro do tema.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/paginacao-tema-wordpress/#faq-q2",
          "name": "É possível adicionar paginação no tema sem instalar nenhum plugin?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Sim, a paginação no tema WordPress funciona só com funções do core, sem plugin. Basta chamar the_posts_pagination() depois do endwhile do loop no archive.php ou index.php. A função existe desde a versão 4.1 e gera a navegação numerada automaticamente. Plugins como WP-PageNavi são opcionais e fazem sentido apenas quando ninguém da equipe edita o código do tema diretamente.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/paginacao-tema-wordpress/#faq-q3",
          "name": "Qual a diferença entre the_posts_pagination e paginate_links?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "A função the_posts_pagination() é um atalho de alto nível que ecoa a navegação do loop principal em uma linha. A paginate_links(), no core desde a versão 2.1, retorna os links como string ou array e aceita o argumento type com os valores plain, list e array. Use paginate_links() quando precisar de controle sobre a marcação ou quando paginar um WP_Query custom com 'total' => max_num_pages.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/paginacao-tema-wordpress/#faq-q4",
          "name": "Como controlar quantos números de página aparecem na navegação?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "O argumento mid_size define quantos números aparecem de cada lado da página atual, com padrão 2, e o end_size define quantos aparecem nas pontas, com padrão 1. Passe mid_size => 1 para uma navegação mais enxuta. Ambos os argumentos valem tanto para the_posts_pagination() quanto para paginate_links(), porque a primeira repassa os parâmetros para a segunda por baixo dos panos.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/paginacao-tema-wordpress/#faq-q5",
          "name": "A paginação muda em temas de blocos com FULL Site Editing?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Em temas de blocos com FULL Site Editing, a paginação vira o bloco Query Pagination, configurado no editor visual em vez do PHP. Por baixo dos panos, esse bloco também chama paginate_links(), então o comportamento de página e o parâmetro paged seguem a mesma lógica do tema clássico. Quem mantém os dois tipos de tema usa o mesmo raciocínio de max_num_pages para depurar a navegação.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://full.services/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Temas WordPress",
          "item": "https://full.services/temas-wordpress/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Paginação no tema WordPress: O guia técnico em 5 passos",
          "item": "https://full.services/paginacao-tema-wordpress/"
        }
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://full.services/#org",
      "name": "FULL Services",
      "url": "https://full.services",
      "logo": {
        "@type": "ImageObject",
        "url": "https://full.services/wp-content/uploads/full-services-logo.png",
        "width": 200,
        "height": 60
      },
      "sameAs": [
        "https://www.instagram.com/fullservicesbr",
        "https://www.facebook.com/fullservices.br",
        "https://www.linkedin.com/company/fullservicesbr/"
      ],
      "knowsAbout": [
        "WordPress",
        "WordPress Hosting",
        "Web Development",
        "Performance Optimization",
        "WordPress Security",
        "SEO para WordPress"
      ],
      "award": [
        "Gold Medal - The WP Weekly Awards 2023 (https://thewpweekly.com/awards-2023/)",
        "Gold Medal - The WP Weekly Awards 2024 (https://thewpweekly.com/awards-2024/)"
      ],
      "hasCredential": {
        "@type": "EducationalOccupationalCredential",
        "credentialCategory": "certification",
        "name": "CVE Numbering Authority (CNA)",
        "description": "Autoridade de numeração de vulnerabilidades (CVE) para o ecossistema WordPress, autorizada a atribuir IDs CVE. Certificação válida desde 2022-05-03, com abrangência global.",
        "url": "https://www.cve.org/PartnerInformation/ListofPartners/partner/FULL",
        "recognizedBy": {
          "@type": "Organization",
          "name": "CISA — Cybersecurity and Infrastructure Security Agency",
          "url": "https://www.cisa.gov/",
          "sameAs": "https://www.cisa.gov/"
        }
      }
    },
    {
      "@type": "Person",
      "@id": "https://full.services/#person-clayton",
      "name": "Clayton Margiotti",
      "givenName": "Clayton",
      "familyName": "Margiotti",
      "jobTitle": "Fundador e CEO da FULL Services",
      "description": "Fundador e CEO da FULL Services, plataforma WordPress SaaS com 50 mil clientes e 150 mil sites conectados, e anchor do ecossistema Elevor Global. Em 2024 conduziu a FULL a se tornar a primeira e unica empresa brasileira aprovada como CVE Numbering Authority sob a CISA (DHS/EUA). Mais de 20 anos construindo empresas digitais, com 13+ reconhecimentos internacionais (Facebook, GPTW, ONU, RD Summit).",
      "url": "https://full.services/sobre-nos/",
      "image": "https://full.services/wp-content/uploads/2026/05/clayton-margiotti.jpg",
      "sameAs": [
        "https://www.linkedin.com/in/cmargiotti/"
      ],
      "knowsAbout": [
        "Artificial Intelligence",
        "Cybersecurity",
        "CVE Program",
        "WordPress Enterprise",
        "SaaS Platforms",
        "Digital Infrastructure",
        "Technology Entrepreneurship",
        "Company Building",
        "Business Leadership",
        "Digital Growth"
      ],
      "hasOccupation": {
        "@type": "Occupation",
        "name": "Fundador e CEO",
        "occupationalCategory": "11-1011.00"
      },
      "knowsLanguage": [
        {
          "@type": "Language",
          "name": "Portuguese",
          "alternateName": "pt-BR"
        },
        {
          "@type": "Language",
          "name": "English",
          "alternateName": "en"
        }
      ],
      "memberOf": {
        "@type": "Organization",
        "name": "CVE Numbering Authorities",
        "url": "https://www.cve.org/",
        "sameAs": "https://www.cve.org/"
      },
      "alumniOf": [
        {
          "@type": "EducationalOrganization",
          "name": "Global Scaling Academy (Blitzscaling Program)",
          "url": "https://www.blitzscalingacademy.com"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Esade",
          "url": "https://www.esade.edu"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Business School Sao Paulo (BSP)",
          "url": "https://bsp.edu.br/"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Tera",
          "url": "https://somostera.com"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Le Wagon",
          "url": "https://www.lewagon.com"
        },
        {
          "@type": "EducationalOrganization",
          "name": "FIAP",
          "url": "https://www.fiap.com.br"
        },
        {
          "@type": "EducationalOrganization",
          "name": "PUCRS",
          "url": "https://online.pucrs.br/"
        }
      ],
      "award": [
        "Digital Disruptor – Engaging Experiences Master (Globant, 2021)",
        "Maior ROI do e-commerce brasileiro – Letrissimas (Facebook, 2019)",
        "1º lugar – Melhores Empresas para Trabalhar no Brasil – Eleva Digital (Great Place to Work, 2018)",
        "Case global de educacao no Facebook – Metodo SUPERA (Facebook, 2017)",
        "Maquina de Geracao de Leads, Agencia do Ano (RD Summit / RD Station, 2015)",
        "Monthly Recurring Revenue, top performance (RD Summit / RD Station, 2015)",
        "Quality/Efficiency – Entrepreneurship Training (UNCTAD / PNUD-ONU, 2010)"
      ],
      "subjectOf": [
        {
          "@type": "NewsArticle",
          "url": "https://www.globant.com/news/globant-reveals-inaugural-digital-disruptors-award-winners",
          "publisher": {
            "@type": "Organization",
            "name": "Globant"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://www.prnewswire.com/news-releases/letrissimas-com-e-destaque-do-e-commerce-brasileiro-com-maior-roi-de-2018-877517801.html",
          "publisher": {
            "@type": "Organization",
            "name": "PR Newswire"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://www.segs.com.br/seguros/102599-gestao-de-pessoas-garante-mais-lucro-as-empresas",
          "publisher": {
            "@type": "Organization",
            "name": "Segs"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://franquiaeducacional.com/negocios-inovadores-facebook-elege-supera-case-mundial-de-educacao",
          "publisher": {
            "@type": "Organization",
            "name": "Franquia Educacional"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://acontecendoaqui.com.br/marketing/resultados-digitais-divulga-vencedores-do-premio-agencias-de-resultados-2015-durante-o-rd",
          "publisher": {
            "@type": "Organization",
            "name": "Acontecendo Aqui"
          }
        }
      ],
      "worksFor": {
        "@type": "Organization",
        "@id": "https://full.services/#org"
      }
    },
    {
      "@type": "HowTo",
      "@id": "https://full.services/paginacao-tema-wordpress/#howto",
      "isPartOf": {
        "@id": "https://full.services/paginacao-tema-wordpress/#article"
      },
      "name": "Passo a passo: paginacao no tema wordpress",
      "description": "Guia passo a passo sobre paginacao no tema wordpress para WordPress.",
      "url": "https://full.services/paginacao-tema-wordpress/",
      "totalTime": "PT30M",
      "author": {
        "@type": "Organization",
        "@id": "https://full.services/#org"
      },
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Passo 1: Localize o fim do loop no template",
          "text": "Abra `index.php` ou `archive.php` no editor de arquivos do tema e encontre a linha `endwhile;` que fecha o `while ( have_posts() )`. A navegação de paginação entra logo após esse `endwhile;` e antes do `else:` que trata a ausência de posts. Esse posicionamento garante que os links só apareçam quando há posts listados."
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Passo 2: Chame the_posts_pagination com argumentos",
          "text": "Insira `the_posts_pagination()` depois do `endwhile;`. Os argumentos `mid_size` (padrão 2) controlam quantos números aparecem de cada lado da página atual, e `prev_text`/`next_text` definem os rótulos. Um exemplo enxuto: `the_posts_pagination( array( 'mid_size' => 1, 'prev_text' => 'Anterior', 'next_text' => 'Próxima' ) );`. A função ecoa a saída de `get_the_posts_pagination()` direto no template."
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Passo 3: Ajuste o número de posts por página",
          "text": "Vá em Configurações > Leitura e defina "As páginas do blog devem mostrar no máximo". O padrão é 10. Esse valor alimenta a propriedade `max_num_pages` da query, que `the_posts_pagination()` lê para saber quantas páginas gerar. Se o total de posts não passar desse número, nenhum link aparece, e isso não é bug."
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Passo 4: Estilize a navegação com CSS",
          "text": "A saída fica dentro de `<nav class="navigation pagination">`, com cada número em `<a class="page-numbers">` e o atual em `<span class="page-numbers current">`. Mire essas classes no `style.css` do tema para aplicar espaçamento, cor e estado ativo. Como a marcação é padronizada, o mesmo CSS serve para qualquer template de arquivo do tema."
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Passo 5: Valide a navegação na página 2",
          "text": "Acesse `/page/2/` do arquivo e confirme que o conteúdo muda e que a página 2 não devolve 404. Se o loop for o principal, funciona direto. Se for um `WP_Query` custom, o erro 404 indica o parâmetro `paged` ausente, que o próximo H2 resolve com `get_query_var`. --- Em uma `WP_Query` própria, a paginação no tema WordPress quebra na página 2 porque a query não recebe a página atual. A correção tem uma linha: declarar `'paged' => get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1` dentro dos argumentos do `WP_Query`. Sem isso, a query devolve sempre o primeiro conjunto e a URL `/page/N/` retorna 404, o que confunde até quem programa <a href="https://full.services/glossario/php-wordpress/">PHP no WordPress</a> há anos. Há uma armadilha de nomenclatura aqui. A variável é `paged` (com "d") para o loop de arquivo e o loop principal, mas é `page` (sem "d") quando a paginação ocorre dentro de um post ou página estática usando a tag `<!--nextpage-->`. Trocar uma pela outra produz exatamente o mesmo 404 silencioso, e o pior é que a página 1 carrega normalmente, então o problema só aparece quando alguém clica para a segunda página. Em um `functions.php` de tema custom, mantenha as duas"
        }
      ]
    }
  ]
}
```
