Estou muito confuso com index.php, home.php e front-page.php. Em muitos casos, embora eu tivesse um index.php, Eu o substituo por front-page.php. Mas recentemente, fiquei sabendo sobre home.php.

  • O que “é a diferença entre home.php e index.php?
  • Qual é a condição ideal para usar um home.php do que index.php?
  • Qual é a condição ideal para usar um front-page.php?
  • Quando estou usando um front-page.php, que tarefa específica um index.php está fazendo por mim então?

Eu li a Hierarquia do modelo no Codex. Por favor, não misture minha pergunta com modelos de página, eu entendo “em, alHamduLILLAH.

Comentários

Resposta

A lógica da página inicial é um dos recursos mais confusos do WordPress e é excepcionalmente difícil de explicar e resumir. Como mencionado em um comentário antes, eu gastei uma quantidade profana de tempo para reunir minha folha de dicas de lógica da página inicial para isso.

Mas desde isso é um tópico popular, deixe-me tentar responder às suas perguntas muito específicas.

Qual é a diferença entre home.php e index.php?

home.php é modelo para índice de postagens (arquivo do tipo de postagem nativo, que é um caso especial no WP). O WP tentará procurá-lo para obter o índice de postagens, sejam elas exibidas na raiz do site ou na página de postagens dedicada. / p>

index.php é o modelo pega-tudo. São as escolhas finais em todos os ramos da hierarquia de modelos e serão escolhidos quando nada mais se encaixar, para arquivos e visualizações singulares.

Apenas o índice de postagens pode usar home.php, mas todos os outros contextos podem e irão usar index.php.

Qual é a condição ideal para usar um home.php do que um index.php

Use home.php para personalizar o índice de postagens.

Você usa index.php para fornecer o modelo mais genérico em seu tema, adequado para exibição de qualquer coisa.

Alguns temas optam por ter index.php e garanta que eles tenham modelos mais específicos para todos os casos possíveis, para que nunca precise ser usado.

O que “é a condição ideal para usar um front-page.php?

front-page.php é usado para o índice de postagens na página raiz ou página inicial estática, se habilitado.

É um modelo de alta prioridade, portanto, se o tema o tiver, você não poderá selecionar um modelo arbitrário para página inicial estática. Por esse motivo, quase nunca é incluído em temas lançados publicamente (o que é correto).

O melhor uso para ele é em projetos privados, uma vez que é mais fácil de configurar do que o modelo de página.

Quando estou usando um front-page.php, qual tarefa específica um index.php está fazendo por mim então?

index.php é ainda um modelo pega-tudo para todos os outros casos.

Se você usar a página inicial estática (à qual front-page.php se aplicará), sua página de postagens tentará usar home.php e, em seguida, index.php.

Resposta

O front-page.php o arquivo é o modelo da página inicial do site . Ele sempre será usado na página inicial do seu site, independentemente de get_option( "show_on_front" ) estar definido como page ou posts.

O home.php arquivo de modelo é o índice de postagens do blog modelo. Ele sempre será usado para exibir o índice de postagens do seu blog, independentemente de o índice de postagens do blog ser exibido na página inicial do site ou em uma página diferente.

No caso de front-page.php e home.hpp existem, e get_option( "show_on_front" ) está definido como posts (ou seja, a página inicial do site exibe o índice de postagens do blog), o arquivo front-page.php terá precedência sobre o arquivo home.php.

O index.php arquivo é o modelo de fallback padrão para todos os contextos na Hierarquia do modelo . Só é usado se um arquivo de modelo mais específico não existir para o contexto atual.

A hierarquia de modelos para a página inicial do site é:

  • front-page.php
  • Se "page" == get_option( "show_on_front" ): hierarquia de página
  • If "posts" == get_option( "show_on_front" ): hierarquia de índice de postagens de blog

A hierarquia de modelo para índice de postagens de blog é:

  • home.php
  • index.php

A hierarquia de modelos para páginas é:

  • Modelo de página personalizada
  • page-{slug}.php
  • page-{id}.php
  • page.php
  • index.php

Comentários

  • Portanto, se eu ‘ estou entendendo direito, ‘ sn não é possível usar o modelo my-template-1 quando a página inicial está definida para as postagens mais recentes e usar my-template-2 quando a página inicial é definida como uma página estática ( sem codificação)?

Resposta

Tudo isso vem de uma leitura completa do Hierarquia de modelo .

home.php é usado se:

  • Seu site” s a página inicial está configurada para exibir uma lista de postagens ou
  • E o o tema tem um home.php arquivo

Se a última condição não for atendida – ou seja, não há home.php arquivo no tema – então index.php será carregado.

front-page.php será usado se :

  • Uma frente estática p idade é definida e
  • um visitante vai para a página que você “definiu como sua” página inicial estática “(isto é, http://example.com/) , e
  • O tema tem um front-page.php arquivo

Se a última condição não for atendida – ou seja, lá não há front-page.php arquivo no tema – então index.php será carregado.

Em resumo

Se quiser personalizar sua lista de postagens, use home.php.
Se quiser personalizar sua página inicial estática, use front-page.php.

Comentários

  • home.php serão usados para o índice de postagens do blog, independentemente de localização. Se a página inicial estiver configurada para exibir o índice de postagens do blog, home.php será usado (se front-page.php não existir).

Resposta

Resumindo:

  • index.php é apenas um modelo substituto, caso nenhum modelo apropriado tenha sido encontrado
  • home.php é usado para o blog (uma lista de postagens recentes)
  • front-page.php é usado para a página de destino

O modelo index.php universal

O index.php arquivo de modelo é um modelo substituto. É usado como último recurso quando nenhum outro modelo mais apropriado está disponível. Por exemplo, se você não tiver front-page.php nem home.php então index.php ser usado. Isso também é verdadeiro para archive.php ou single.php e assim por diante.

Em relação a front-page.php VS home.php

Agora, a diferença entre front-page.php e home.php modelos é que o front-page.php é usado, como seu nome sugere, como a página inicial principal do site, enquanto home.php tem como objetivo ser o lar da seção Blog .

Qual modelo será usado para a página de destino do meu site?

O modelo front-page.php, se presente, será usado para a página inicial principal do site (por exemplo, http://www.example.com/). Se não estiver presente, então home.php será usado. Se ambos front-page.php e arquivos de modelo estão faltando, então o index.php modelo substituto será usado.

Qual modelo será usado para minha página de blog?

O WordPress permite que você tenha uma página de “Blog” (que lista as postagens recentes) em uma página diferente da página de destino (por exemplo, http://www.example.com/blog/).Portanto, se esse for o caso em seu site, a página do Blog sempre usará o modelo home.php. Se home.php não existir, o index.php modelo substituto será usado.

Como configurar o destino- página e página do blog?

Para configurar o conteúdo a ser mostrado na página inicial, vá para o WordPress Admin , em Ferramentas> Leitura , você pode configurar as “ Telas de página inicial ” para mostre uma página estática ou seus posts mais recentes.

No caso de você optar por exibir uma página estática na página inicial, você também tem a possibilidade de definir qual página usar como espaço reservado para o Blog página (que usará o modelo home.php):

insira a descrição da imagem aqui

Resposta

retirada da hierarquia de modelos do WordPress

Exibição da página inicial

Por padrão, o WordPress define a página inicial do seu site para exibir as últimas postagens do blog. Esta página é chamada de índice de postagens do blog. Você também pode definir suas postagens de blog para serem exibidas em uma página estática separada. O arquivo de modelo home.php é usado para renderizar o índice de postagens do blog, quer esteja sendo usado como página inicial ou em uma página estática separada. Se home.php não existir, o WordPress usará index.php.

  1. home.php
  2. index.php

Nota: Se front-page.php existir, ele irá sobrescrever o template home.php.

Exibição da primeira página

O arquivo de modelo front-page.php é usado para renderizar a página inicial do seu site, quer a página inicial exiba o índice de postagens do blog (mencionado acima) ou uma página estática. O modelo de página inicial tem precedência sobre o modelo de índice de postagens de blog (home.php). Se o arquivo front-page.php não existir, o WordPress usará os arquivos home.php ou page.php dependendo da configuração em Configurações → Leitura. Se nenhum desses arquivos existir, ele usará o arquivo index.php.

1. front-page.php – Usado para “suas últimas postagens” ou “uma página estática”, conforme definido na seção de exibição da página inicial de Configurações → Leitura.

2. home.php – Se o WordPress não conseguir localizar a página inicial.php e “suas últimas postagens” estiver definido na seção de exibições da página inicial, ele procurará por home.php. Além disso, o WordPress procurará por esse arquivo quando a página de postagens for configurada na seção de exibição da página inicial.

3. page.php – Quando “página inicial” é definida na seção de exibições da página inicial.

4. index.php – Quando “suas últimas postagens” está definido na seção de exibição da página inicial, mas home.php não existe ou quando a página inicial é definida, mas page.php não existe .

Como você pode ver, existem várias regras para definir o caminho que o WordPress toma. Usar o gráfico acima é a melhor maneira de determinar o que o WordPress exibirá.

Gráfico de hierarquia do modelo: Hierarquia de modelos do WordPress

Resposta

Decidi testar qual modelo é usado para cada uma das páginas a seguir quando as várias opções de exibição da página inicial são definidas.

  • example.net
  • example.net/home/
  • example.net/blog/

Os resultados são bastante longos, mas podem ser usados como referência ou folha de dicas.

Telas de página inicial

Fonte: Como fazer Os modelos front-page.php e home.php diferem no WordPress?

Nota ao editor: Tentei copiar e colar as tabelas aqui, mas o formato markdown é necessário em vez de HTML. Converta para redução, se puder.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *