O WordPress possui um sistema de templates incrivelmente organizado. Uma das coisas que mais adoramos por tornar o trabalho ágil e permitir personalizar cada tipo de página é a hierarquia de arquivos de template.

Pense em uma página como um quebra-cabeça: cada parte exibida é gerada por um determinado arquivo. O WordPress verifica que página (uma página de busca, um post, a homepage etc) está sendo acessada, busca o arquivo relativo a cada área da página, monta tudo e exibe ao usuário.

Chamamos de hierarquia pois, caso os arquivos relacionados à uma determinada página não existam em um tema, sempre haverá uma alternativa que será buscada. Sendo assim, temos em mente então que alguns arquivos serão obrigatórios em um tema para servir de alternativa para os faltantes.

Os arquivos que precisam existir em um tema são index.php e style.css, sendo o primeiro contendo a estrutura HTML + PHP enquanto o segundo carrega os estilos CSS.

Exemplo básico

Como exemplo, um visitante acessa o link para a página da categoria “Dicas” em seu blog, o WordPress irá buscar o arquivo de modelo no diretório do tema que corresponda ao ID dessa categoria.

Digamos que a categoria “Dicas” tenha o ID 10, o WordPress buscará o arquivo category-10.php. Caso não encontre, ele buscará o seguinte de acordo com a hierarquia, sendo então o category.php.

Se ainda assim o category.php não existir, o WordPress irá buscar um modelo ainda mais genérico, o archive.php. Se não encontrar, exibirá o modelo principal, index.php.

Conhecendo a hierarquia

A seguinte imagem mostra com clareza como funciona a hierarquia de modelos do WordPress de acordo com a página requisitada.

Hierarquia de Modelos WordPress (clique para ampliar)

Hierarquia de Modelos WordPress (clique para ampliar)

Detalhes de cada modelo

A seguir listamos cada arquivo de um tema na ordem que o WordPress busca para a página que se aplica.

Página inicial

  1. home.php
  2. index.php

Post único

  1. single-{post_type}.php
  2. single.php
  3. index.php

Página

  1. modelo de página
  2. page-{slug}.php
  3. page-{id}.php
  4. page.php
  5. index.php

Categoria

  1. category-{slug}.php
  2. category-{id}.php
  3. category.php
  4. archive.php
  5. index.php

Tag

  1. tag-{slug}.php
  2. tag-{id}.php
  3. tag.php
  4. archive.php
  5. index.php

Taxonomias Personalizadas

  1. taxonomy-{taxonomia}-{termo}.php
  2. taxonomy-{taxonomia}.php
  3. taxonomy.php
  4. archive.php
  5. index.php

Tipos de Posts Personalizados

  1. single-{post_type}.php
  2. single.php
  3. index.php

Autor

  1. author-{nicename}.php
  2. author-{id}.php
  3. author.php
  4. archive.php
  5. index.php

Datação

  1. date.php
  2. archive.php
  3. index.php

Resultados da Pesquisa

  1. search.php
  2. index.php

Página 404

  1. 404.php
  2. index.php

Anexos

  1. MIME_type.php
  2. text.php
  3. plain.php
  4. text_plain.php

Arquivos gerais (não importa o tipo de anexo):

  1. attachment.php
  2. single.php
  3. index.php

Conhecendo cada arquivo e sua ordem de chamada, por assim dizer, podemos personalizar qualquer página de um site com WordPress. Desde um post específico à página de uma categoria em si. Isso só mostra o quanto o WordPress nos permite realizar coisas verdadeiramente incríveis de forma simples e eficiente!