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.
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
- home.php
- index.php
Post único
- single-{post_type}.php
- single.php
- index.php
Página
- modelo de página
- page-{slug}.php
- page-{id}.php
- page.php
- index.php
Categoria
- category-{slug}.php
- category-{id}.php
- category.php
- archive.php
- index.php
Tag
- tag-{slug}.php
- tag-{id}.php
- tag.php
- archive.php
- index.php
Taxonomias Personalizadas
- taxonomy-{taxonomia}-{termo}.php
- taxonomy-{taxonomia}.php
- taxonomy.php
- archive.php
- index.php
Tipos de Posts Personalizados
- single-{post_type}.php
- single.php
- index.php
Autor
- author-{nicename}.php
- author-{id}.php
- author.php
- archive.php
- index.php
Datação
- date.php
- archive.php
- index.php
Resultados da Pesquisa
- search.php
- index.php
Página 404
- 404.php
- index.php
Anexos
- MIME_type.php
- text.php
- plain.php
- text_plain.php
Arquivos gerais (não importa o tipo de anexo):
- attachment.php
- single.php
- 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!