Início » Desenvolvimento WordPress » Templates do WordPress | Como funciona a hierarquia
Desenvolvimento WordPress

Templates do WordPress | Como funciona a hierarquia

Abordagem prática sobre a hierarquia de templates do WordPress com foco sobre as templates de páginas de arquivo.
Escrito Por Leandro Vieira em setembro de 2015 /5 min de leitura
Conteúdo escrito por humano
Hierarquia de templates até a versão 4.3. Clique para expandir.

A Hierarquia de templates é, sem dúvida, um dos assuntos mais importantes do WordPress. Não há como desenvolver um tema para WordPress sem conhecer suas templates e qual hierarquia elas seguem.

Nesse artigo faremos uma introdução a esse assunto, mostrando como o WordPress determina qual arquivo deve incluir e quais as peculiaridades que talvez você ainda não saiba a respeito das urls em relação à hierarquia de templates.

Hierarquia de templates até a versão 4.3. Clique para expandir.

Hierarquia de templates até a versão 4.3. Clique para expandir.

Os parâmetros de URL como controladores

Antes de adentrarmos pela hierarquia de templates precisamos entender o básico do funcionamento padrão do WordPress. Quando você acessa qualquer página do WordPress sabe o que acontece no servidor e como ele trata sua requisição?

Ao requisitar uma página, o WordPress utiliza os parâmetros de URL como controladores para decidir qual o arquivo de template deve ser carregado. Parâmetros de URL são as variáveis acrescentadas a uma URL após o sinal de interrogação (?) e, caso haja mais de um, são separados pelo sinal de “e comercial” (&). Por exemplo, para uma instalação nova do WordPress, acessando o post “Olá Mundo” que é criado automaticamente, teremos a URL http://seuwp.com?p=1.

O parâmetro p=1 indica para o WordPress que está sendo requisitada uma página interna de um post e que o ID desse post é 1. A partir desse momento o WordPress valida as configurações de leitura definidas na administração e acessa o banco de dados em busca de um post com o ID indicado pelo parâmetro. Encontrando no banco o post com o ID, o WordPress seleciona um arquivo no seu tema determinado pela hierarquia de templates.

Abaixo os parâmetros mais comuns que poderão ser encontrados em uma URL WordPress:

  • ?p=1 – Post com ID 1
  • ?page_id=2 – Página com ID 2
  • ?cat=1 – Categoria de posts com ID 1
  • ?tag=2 – Tags de posts com ID 2
  • ?author=1 – Autor do site com ID
  • ?s=teste – Busca pelo termo “teste”
  • ?m=201508 – Posts do mês de Agosto/2015

E não encontrando o conteúdo requisitado?

Há casos em que o WordPress pode não encontrar no banco de dados o conteúdo que está sendo requisitado pelo parâmetro da URL, seja post, página, tag, categoria, etc. Nesses casos o WordPress identifica a URL como uma página não encontrada e passa a procurar pela template de erro 404.

Abordaremos essa template mais adiante em outro artigo.

E se meu tema não possuir a template que o WordPress procura?

Calma, o WordPress é mais esperto que isso. Para garantir que seu usuário nunca veja uma tela em branco quando requisitar uma página do seu site, sempre que o seu tema não possuir a template esperada, o WordPress incluirá o arquivo index.php para exibir o conteúdo da página. Por esse motivo esse é o único arquivo da hierarquia de templates que é obrigatório no seu tema. Caso ele não exista, você não tem um tema WordPress.

Também falaremos mais detalhadamente do arquivo index.php em um artigo futuro, relaxa.

Hierarquia de templates com links permanentes habilitados

Aí você começa a se perguntar. E quando meu WordPress não possui URL com parâmetros, pois estou com os links permanentes habilitados? O que vai mudar?

Nada jovem. A hierarquia de templates do WordPress é sempre a mesma em qualquer situação. O que passa a ocorrer é uma transformação da URL personalizada na URL padrão equivalente. Por exemplo, caso seja requisitada a URL http://seuwp.com/category/noticias ela será internamente traduzida como http://seuwp.com?cat=2.

E como o WordPress faz isso?

Magic hierarquia de templates

Quando habilitamos os links permanentes o WordPress salva no banco, o que chamamos de regras de reescrita de URL (rewrite rules), que são consultadas a cada página requisitada no nosso site. São essas regras que o WordPress utiliza para transformar uma URL amigável em algo que ele possa interpretar e seguir o fluxo da hierarquia de templates já descrito nesse artigo.

Abaixo um pequeno trecho das regras de reescrita de URL desse blog:

Array
(
[category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?category_name=$matches[1]&feed=$matches[2]
[category/(.+?)/(feed|rdf|rss|rss2|atom)/?$] => index.php?category_name=$matches[1]&feed=$matches[2]
[category/(.+?)/page/?([0-9]{1,})/?$] => index.php?category_name=$matches[1]&paged=$matches[2]
[category/(.+?)/?$] => index.php?category_name=$matches[1]
[tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?tag=$matches[1]&feed=$matches[2]
[tag/([^/]+)/(feed|rdf|rss|rss2|atom)/?$] => index.php?tag=$matches[1]&feed=$matches[2]
[tag/([^/]+)/page/?([0-9]{1,})/?$] => index.php?tag=$matches[1]&paged=$matches[2]
[tag/([^/]+)/?$] => index.php?tag=$matches[1]
[author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?author_name=$matches[1]&feed=$matches[2]
[author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$] => index.php?author_name=$matches[1]&feed=$matches[2]
[author/([^/]+)/page/?([0-9]{1,})/?$] => index.php?author_name=$matches[1]&paged=$matches[2]
[author/([^/]+)/?$] => index.php?author_name=$matches[1]
)

Fechou!

Essa é nossa introdução à Hierarquia de templates do WordPress, espero ter elucidado um pouco melhor para todos a respeito do funcionamento “underground” do WordPress, quanto ao controle por parâmetros de URL e a inclusão de arquivos da hierarquia.

Fiquem ligados no nosso blog pois esse assunto é muito extenso, não termina por aqui. Em breve outros artigos elucidarão ainda mais sobre a hierarquia de templates do WordPress, falando especificamente sobre cada um dos arquivos que você pode ter em seu tema.

Apresentação do Apiki WP Cursos. Cursos de WordPress para Devs e Gestores.

Leandro Vieira

Uma das grandes referências de WordPress no Brasil, entusiasta e evangelista da plataforma. Fundador e CEO da Apiki, empresa especializada no desenvolvimento web com WordPress.
Qual nota você da para este artigo?
Ruim

O que você achou disso?

Clique nas estrelas

Média da classificação 0 / 5. Número de votos: 0

Nenhum voto até agora! Seja o primeiro a avaliar este post.

Excelente
Artigos Relacionados

  1. Rodrigo Vieira Eufrasio da Silva
    Excelente artigo, fiquei ancioso para a continuação deste artigo.
  2. Marcelo Barbosa
    Muito bom artigo! aguardando o próximo :) um troubleshoot relacionado a links permanentes também seria excelente :)

Construa seu site WordPress sob medida com os maiores especialistas em WordPress da America Latina
Conheça a Apiki

Faça um comentário
Cadastre-se rápido

Fazer Login