Hierarquia dos modelos (páginas) no WordPress

Publicado em: 09-04-2018
Os modelos WordPress se encaixam como peças de um quebra-cabeça para gerar as páginas em seu site. Alguns modelos são usados em todas as páginas da web (como o cabeçalho e o rodapé e estilos, por exemplo), enquanto outros são usados somente em condições específicas.
O seguinte diagrama mostra quais arquivos de modelo são chamados para gerar uma página do WordPress com base na Hierarquia.



O Wordpress faz uma leitura no tema e segue a linha de hierarquia para gerar a estrutura do site. O index.php sempre será a resposta final caso nenhum outro arquivo seja encontrado.

Vou deixar aqui alguns exemplos básicos que sempre uso:

 

1 - Página inicial


1.1 - Criamos um arquivo front-page.php dentro do tema.
1.2 - Acessamos o painel -> páginas -> Adicionar nova página.
1.3 - Criamos uma página com o nome de Home e clicamos em publicar.
1.4 - No painel vamos para -> Configurações -> Leitura -> Setamos o radio button para página estática -> Na opção de página inicial setamos a página Home criada anteriormente e salvamos.

 

2 - Página para listagem de posts


2.1 - Criamos o arquivo home.php dentro do tema
2.2 - Acessamos o painel -> páginas -> Adicionar nova página.
2.3 - Criamos uma página com o nome de Blog e clicamos em publicar.
2.4 - No painel vamos para -> Configurações -> Leitura -> Setamos o radio button para página estática -> Na opção de página de posts setamos a página Blog criada anteriormente e salvamos.

Imagem do painel depois de executar os 2 passos informados.



 

Deixo aqui outra imagem com a hierarquia do Wordpress baseada em condições



Nesta imagem encontramos as condições is_ que retornam true ou false se utilizadas dentro de um arquivo do Wordpress.
Normalmente são usadas para saber qual página está ativa. Assim podemos executar funções, adicionar scripts e outras condições especificas para uma página.

Para exemplo vamos criar a seguinte código dentro do header.php
<?php if (is_frontpage()): ?>
<!-- Se abrirmos a página inicial. -->
<header>
Header Página inicial
</header>
<?php elseif (is_home()): ?>
<!-- Se abrirmos o blog. -->
<header>
Header do blog
</header>
<?php else: ?>
<!-- Header padrão para todas as outras páginas. -->
<header>
Header padrão
</header>
<?php endif; ?>

Neste código mostramos um header diferente para cada tipo de página que abrirmos. Existem outras maneiras de fazer isso, porém é um bom modo de exemplificar como utilizar as condições is_.

continue lendo