Para quem quer aprender a desenvolver ou editar um tema, conhecer a hierarquia de templates do WordPress é essencial.

Templates

Para cada página e post criado no WordPress, existe o arquivo correto para se trabalhar. Utilizando os arquivos corretos, você consegue desfrutar de tudo que o WordPress fornece sem nenhum problema.
Eles funcionam como um quebra-cabeça, cada peça que você encaixa corretamente o WordPress faz o resto pra você.

Hierarquia de templates do WordPress

Exemplos

Abaixo vamos listar os principais modelos e como utilizá-los:

– Functions (functions.php)

Nesse arquivo, você deve incluir os arquivos externos do seu tema como CSS e JS, além de qualquer outra função(Hookies) que personalize o WordPress (Action e Filter).

[php]
<?php //Incluindo CSS function wp_developer_theme_styles(){ wp_enqueue_style( ‘styles-theme’, get_template_directory_uri() . ‘/style.css’, ”,’1.0′); } add_action( ‘wp_enqueue_scripts’, ‘wp_developer_theme_styles’ ); //Incluindo JS function wp_developer_theme_scripts(){ wp_enqueue_script(‘jquery’); wp_enqueue_script(‘main’, get_template_directory_uri() . ‘/assets/js/main.js’, ”, ‘1.0’,true); } add_action( ‘wp_enqueue_scripts’, ‘wp_developer_theme_scripts’ ); ?>
[/php]

– Header (header.php)

O cabeçalho da página é onde contém as tags <head> e início do <body>, é nela que você irá escrever o HTML e PHP que se repetirá em todas as páginas.
No arquivo header.php o único código obrigatório, é a função:

[php]<?php wp_head(); ?>[/php]

– Footer (footer.php)

O rodapé da página é onde contém o fechamento do </body>, é nele que você irá escrever o HTML e PHP que se repetirá em todas as páginas.
No arquivo footer.php o único código obrigatório, é a função:

[php]<?php wp_footer(); ?>[/php]

– Home (frontpage.php)

Criar uma página com o nome Home e definir ela no admin em CONFIGURAÇÕES > Leitura, na opção: Sua página inicial exibe: Página Inicial > Home, fazendo isso, pode utilizar o arquivo front-page.php.

Configuração da página inicial

No arquivo frontpage.php você insere todo o conteúdo da Home e no topo e rodapé do arquivo chama o header e o footer.

[php]
<?php get_header(); ?> //inclui o header
<?php get_footer(); ?> //inclui o footer[/php]

– Páginas (page.php ou page-slug.php)

Quando você cria uma página no admin, o arquivo que você deve usar é o page.php, porém, você pode cair na situação de ter duas páginas diferentes no layout, e pra isso, você pode criar vários arquivos com o nome de page-slug.php, sempre seguindo o mesmo slug da página criada no admin.
Usando esse arquivo de template, você já terá as funções básicas de conteúdo que o wordpress disponibiliza para as páginas:

[php]

<?php get_header(); ?> //inclui o header
<?php the_title(); ?> //inclui o título da página inserido no Admin
<?php the_content(); ?> //inclui o conteúdo da página inserido no Admin
<?php get_footer(); ?> //inclui o footer

[/php]

 – Categoria Padrão (category.php ou category-slug.php)

Quando você instala o WordPress, sem nenhuma personalização, ele já vem com um menu chamado Posts, e dentro dele possui as categorias e posts, é dessas categorias que estamos falando.
Quando você cria uma categoria no admin, o arquivo que você deve usar é o category.php, porém, você pode cair na situação de ter duas categorias com layout diferente, e pra isso, você pode criar vários arquivos com o nome de category-slug.php, sempre seguindo o mesmo slug da categoria criada no admin.
Usando esse arquivo de template, você já terá as funções básicas de conteúdo que o WordPress disponibiliza para as categorias, além do Loop padrão que automaticamente irá ler todos os posts associados a essa categoria.

[php]

<?php get_header(); ?> //inclui o header
<?php single_cat_title(”, true); ?> //inclui o título da categoria inserido no Admin
<!– LOOP PADRÃO –>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php the_post_thumbnail(‘full’, array(‘title’ => get_the_title(), ‘class’ => ‘img-responsive’)); //imagem destacada do post ?>
<?php the_title(); ?> //titulo do post
<?php the_permalink(); ?> //link do post
<?php the_excerpt(); ?> //resumo do post
<?php endwhile; ?>
<?php endif; ?>
<!– LOOP PADRÃO –>
<?php get_footer(); ?> //inclui o footer

[/php]

– Custom Post Type (archive.php ou archive-slug.php)

Além desse menu chamado Posts, você pode criar quantos menus você quiser, esse menus levam o nome de Custom Post Type.
Ele por padrão, lista todos os posts desse menu, o arquivo que você deve usar é o archive.php, porém, você pode cair na situação de ter mais de um Custom Post Type, e pra isso, você pode criar vários arquivos com o nome de archive-slug.php, sempre seguindo o mesmo slug do Custom Post Type criado no functions.
Usando esse arquivo de template, você já terá as funções básicas de conteúdo que o WordPress disponibiliza para as categorias, além do Loop padrão que automaticamente irá ler todos os posts associados a essa categoria.

[php]
<?php get_header(); ?> //inclui o header
<!– LOOP PADRÃO –>
<?php if (have_posts()) : ?
<?php while (have_posts()) : the_post(); ?
<?php the_post_thumbnail(‘full’, array(‘title’ =&gt; get_the_title(), ‘class’ =&gt; ‘img-responsive’)); //imagem destacada do post ?
<?php the_title(); ?> //titulo do post
<?php the_permalink(); ?> //link do post
<?php the_excerpt(); ?> //resumo do post
<?php endwhile; ?>
<?php endif; ?>
<!– LOOP PADRÃO –>
<?php get_footer(); ?> //inclui o footer

[/php]

– Taxonomia (taxonomy.php ou taxonomy-slugdocustomposttype.php)

Quando você cria um Custom Post Type, você pode querer que os posts dele sejam agrupados por categoria, e pra isso, você pode registrar uma taxonomia (grupo de categorias).
Quando você cria uma taxonomia no admin do seu custom post type, o arquivo que você deve usar é o taxonomy.php, porém, você pode cair na situação de ter duas taxonomias de layout diferente, e pra isso, você pode criar vários arquivos com o nome de taxonomy-slugdocustomposttype.php, sempre seguindo o mesmo slug da categoria registrada no functions.
Usando esse arquivo de template, você já terá as funções básicas de conteúdo que o WordPress disponibiliza para as categorias, além do Loop padrão que automaticamente irá ler todos os posts associados a essa categoria.

[php]

<?php get_header(); ?> //inclui o header
<?php single_term_title(”, true); ?> //inclui o título da categoria inserido no Admin
<!– LOOP PADRÃO –>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php the_post_thumbnail(‘full’, array(‘title’ => get_the_title(), ‘class’ => ‘img-responsive’)); //imagem destacada do post ?>
<?php the_title(); ?> //titulo do post
<?php the_permalink(); ?> //link do post
<?php the_excerpt(); ?> //resumo do post
<?php endwhile; ?>
<?php endif; ?>
<!– LOOP PADRÃO –>
<?php get_footer(); ?> //inclui o footer

[/php]

– Posts (single.php ou single-slugdocustomposttype.php)

Quando você cria um post em qualquer um dos menus (Posts ou um Custom Post Type), o arquivo que você deve usar é o single.php, porém, você pode cair na situação de ter posts diferentes no layout, e pra isso, você pode criar vários arquivos com o nome de single-slugdocustomposttype.php, sempre seguindo o mesmo slug do Custom Post Type criado.
Usando esse arquivo de template, você já terá as funções básicas de conteúdo que o wordpress disponibiliza para as páginas:

[php]

<?php get_header(); ?> //inclui o header
<?php the_title(); ?> //inclui o título do post inserido no Admin
<?php the_content(); ?> //inclui o conteúdo do post inserido no Admin
<?php the_post_thumbnail(‘full’, array(‘title’ => get_the_title(), ‘class’ => ‘img-responsive’)); //imagem destacada do post ?>
<?php the_permalink(); ?> //link do post
<?php get_footer(); ?> //inclui o footer

[/php]

Conclusões

Isso é demais!!! Agora que você conhece a hierarquia de templates do WordPress, você já pode sair desenvolvendo seus próprios temas localizando template a template.

Gostou? Veja só essa próxima dica:

Nós do Array é Vida, desenvolvemos uma solução gratuita para desenvolvedores chamada Wp Developer Theme, nessa solução inclui todos os arquivos de templates listados nesse tutorial e outros, com ele você tem todas as peças do quebra cabeça na sua mão, basta encaixa-las e sair desensenvolvendo. Clique no link para ir direto ao GitHub do projeto.

Referências

Codex HandBook
Codex BR
WP Hierarchy

Summary
Conhecendo a hierarquia de templates do Wordpress
Article Name
Conhecendo a hierarquia de templates do Wordpress
Description
Para quem quer aprender a desenvolver ou editar um tema, conhecer a hierarquia de templates do Wordpress é essencial.
Author
Publisher Name
Heitor Sousa Pedroso
Publisher Logo