Languages: English • Français • 日本語 Русский • Português do Brasil • (Add your language)
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.
Este artigo procura responder à seguinte pergunta:
Qual arquivo de modelo (s) o WordPress usará quando ele exibe um certo tipo de página?
O WordPress utiliza Query String - Informações contidas no interior de cada link em seu site - para decidir qual o modelo ou conjunto de modelos serão utilizados para exibir a página.
Primeiro, o WordPress partidas cadeia de consulta para todos os tipos de consulta - ou seja, ele decide que tipo de página (uma página de busca, uma página da categoria, a home page, etc) está sendo solicitado.
Os modelos são então escolhidos - e o conteúdo da página web é gerada - na ordem sugerida pela Hierarquia de Temas WordPress, dependendo de que modelos estão disponíveis num determinado Tema WordPress.
Se o seu blog está em http://exemplo.com/wp/ e um visitante clica em um link para uma página da categoria como http://exemplo.com/wp/category/carros/, WordPress procura por um arquivo de modelo no diretório do tema atual que corresponde ao ID da categoria.
Se a categoria de identificação é 4, o WordPress procura por um arquivo de modelo category-4.php . Se estiver em falta, o WordPress procura por um arquivo de modelo genérico, category.php .
Se este arquivo não existe o WordPress procura por um arquivo de modelo genérico, archive.php. Se não exisitir, então ele procura pelo arquivo principal, index.php .
Se um visitante vai para sua homepage na http://exemplo.com/wp/
, o WordPress primeiro determina se há uma Página estática. Se uma página estática foi definida, o WordPress exibe primeiro a página principal e depois esta página definida, de acordo com o modelo de hierarquia.
Se uma página estática não foi definida, então o WordPress procura por um arquivo home.php e o usa para gerar a página solicitada.
Se não há arquivo home.php , o WordPress procura por um arquivo chamado index.php no diretório do tema ativo, e usa esse modelo para gerar a página.
O seguinte diagrama mostra quais arquivos de modelo são chamados para gerar uma página do WordPress com base na Hierarquia de Temas WordPress.
As seções seguintes descrevem a ordem na qual os arquivos de modelo são chamados pelo WordPress, para cada tipo de consulta.
Ao ver uma página fixa.
Quando se clica no link para uma categoria.
Mostra publicações que usam a taxonomia.
Arquivos gerais (não importa o tipo de anexo):
Todas estas funções ficam no arquivo wp-includes/theme.php.
O modelo de hierarquia de funções estão localizados em wp-includes/theme.php
.
Artigo ou Seção com explicações avançadas A seguir, estão explicações ou instruções para usuários avançados, o que pode exigir o conhecimento de termos e ferramentas não comuns a todas as pessoas.
Adicione {{Avançado}} para usar esta caixa. |
O sistema de modelos dos WordPress permite que você filtre a hierarquia. O filtro (localizado na função get_query_template()
) usa este nome de filtro: "{$type}_template" onde $type é o nome do arquivo na hierarquia, sem a extensão de arquivo .php.
Lista completa:
Um exemplo, observe a hieraquia de arquivod para autor:
Para criar author-{role}.php
prevalecendo sobre author.php, podemos manipular a hierarquia padrão usando o hook 'author_template'. Em vez de requisitar /autor/usuário, usaremos author-editor.php
para usuários na função editor, se o arquivo existir na pasta do tema, e assim para todas as funções de usuários existentes.
function author_role_template( $templates='' ) { $author = get_queried_object(); $role=$author->roles[0]; if(!is_array($templates) && !empty($templates)) { $templates=locate_template(array("author-$role.php",$templates),false); } elseif(empty($templates)) { $templates=locate_template("author-$role.php",false); } else { $new_template=locate_template(array("author-$role.php")); if(!empty($new_template)) array_unshift($templates,$new_template); } return $templates; } add_filter( 'author_template', 'author_role_template' );
A documentação do WordPress em Português do Brasil.
Todas as comunidades lusófonas também são bem-vindas! Adicione {{Codex-pt}} em seus artigos. |