Jerarquía de plantillas: confundida con index.php, front-page.php, home.php

27

Realmente estoy confundido con index.php , home.php y front-page.php . En muchos casos, aunque tuve un index.php , lo sobrescribí con front-page.php . Pero recientemente, me di cuenta de home.php .

  • ¿Cuál es la diferencia entre home.php y index.php ?
  • ¿Cuál es la condición ideal para usar un home.php que un index.php ?
  • ¿Cuál es la condición ideal para usar front-page.php ?
  • Cuando estoy usando un front-page.php , ¿qué tarea específica está haciendo por mí un index.php ?

He leído la Jerarquía de plantillas en Codex. Por favor, no mezcle mi pregunta con Plantillas de página, las entiendo, alHamduLILLAH.

    
pregunta Mayeenul Islam 16.08.2013 - 22:07

6 respuestas

22

La lógica de la página frontal es una de las funciones más confusas de WordPress y es excepcionalmente difícil de explicar y resumir. Como se mencionó en el comentario, cuando regresé, quemé la profana cantidad de tiempo para armar mi hoja de trucos de lógica de la página principal por ello.

Pero como este es un tema popular, permítame tratar de responder esas preguntas muy específicas que tuvo.

  

¿Cuál es la diferencia entre home.php y index.php ?

home.php es una plantilla para el índice de publicaciones (archivo del tipo de Publicaciones nativas, que es un caso especial en WP). WP intentará buscar el índice de publicaciones, ya sea que se muestren en la raíz del sitio o en la página de publicaciones dedicadas.

index.php es catch-all template. Es una elección final en todas las ramas de la jerarquía de plantillas y se seleccionará cuando nada más se ajuste, tanto para archivos como para vistas singulares.

Solo el índice de publicaciones puede usar home.php , pero todos otros contextos podrían y usarán index.php .

  

¿Cuál es la condición ideal para usar un home.php que un index.php

Utiliza home.php para personalizar el índice de publicaciones.

Utiliza index.php para proporcionar la plantilla más genérica en tu tema, adecuada para mostrar cualquier cosa.

Algunos temas eligen tener index.php vacío y aseguran que tengan plantillas más específicas para todos los casos posibles, por lo que nunca deben usarse.

  

¿Cuál es la condición ideal para usar front-page.php ?

front-page.php se usa para el índice de publicaciones en la página principal raíz o estática, si está habilitado.

Es una plantilla de alta prioridad, por lo tanto, si el tema lo tiene, no puede seleccionar una plantilla arbitraria para la página principal estática. Por esta razón, casi nunca se incluye en los temas publicados públicamente (lo que es correcto).

El mejor uso para él es en proyectos privados, ya que es más fácil de configurar que la plantilla de página.

  

Cuando estoy usando front-page.php , ¿qué tarea específica está haciendo por mí un index.php ?

index.php es todavía una plantilla para todos los demás casos.

Si usa la página principal estática (a la que se aplicará front-page.php ), su página de publicaciones intentará usar home.php y luego index.php .

    
respondido por el Rarst 26.08.2016 - 18:31
21

El archivo front-page.php es la plantilla página principal . Siempre se usará en la página principal de su sitio, independientemente de si get_option( 'show_on_front' ) está configurado como page o posts .

El archivo de plantilla home.php es la plantilla índice de publicaciones de blog . Siempre se utilizará para mostrar el índice de sus publicaciones de blog, independientemente de si el índice de publicaciones de blog se muestra en la página principal del sitio o en una página diferente.

En el caso de que tanto front-page.php como home.hpp existan, y get_option( 'show_on_front' ) esté configurado como posts (es decir, la página principal del sitio muestre el índice de publicaciones del blog), el archivo front-page.php tendrá prioridad. sobre el archivo home.php .

El archivo index.php es la plantilla alternativa predeterminada para todos los contextos en la Jerarquía de plantillas . Solo se utiliza si no existe un archivo de plantilla más específico para el contexto actual.

La jerarquía de plantillas para la página principal del sitio es:

  • front-page.php
  • Si 'page' == get_option( 'show_on_front' ) : jerarquía de páginas
  • Si 'posts' == get_option( 'show_on_front' ) : jerarquía de índice de publicaciones de blog

La jerarquía de plantillas para el índice de publicaciones de blog es:

  • home.php
  • index.php

La jerarquía de plantillas para páginas es:

  • Plantilla de página personalizada
  • page-{slug}.php
  • page-{id}.php
  • page.php
  • index.php
respondido por el Chip Bennett 16.08.2013 - 22:22
16

Todo esto proviene de una lectura exhaustiva de la Jerarquía de plantillas .

home.php se usa si:

  • La página principal de su sitio está configurada para mostrar una lista de publicaciones, o
  • Y el tema tiene un archivo home.php

Si no se cumple la última condición, es decir, no hay un archivo home.php en el tema, entonces se cargará index.php .

front-page.php se utilizará si:

Si no se cumple la última condición, es decir, no hay un archivo front-page.php en el tema, entonces se cargará index.php .

En resumen

Si desea personalizar su lista de publicaciones, use home.php .
Si desea personalizar su página de inicio estática, use front-page.php .

    
respondido por el Pat J 16.08.2013 - 22:14
10

En resumen:

  • index.php es solo una plantilla alternativa, en caso de que no se haya encontrado la plantilla adecuada
  • home.php se usa para el blog (una lista de publicaciones recientes)
  • front-page.php se utiliza para la página de destino

La plantilla universal index.php

El archivo de plantilla index.php es una plantilla alternativa. Se usa como último recurso cuando no hay otra plantilla más apropiada disponible. Por ejemplo, si no tiene un front-page.php ni un home.php , entonces se usará index.php . Esto también es válido para faltar archive.php o single.php y así sucesivamente.

Con respecto a front-page.php VS home.php

Ahora, la diferencia entre las plantillas front-page.php y home.php es que se usa front-page.php , como su nombre sugiere, como la página principal del sitio, mientras que home.php está destinado a ser el hogar de la sección Blog .

¿Qué plantilla se utilizará para la página de destino de mi sitio?

La plantilla front-page.php , si está presente, se usará para la página principal del sitio (por ejemplo, http://www.example.com/ ). Si no está presente, se utilizará home.php en su lugar. Si faltan los archivos de plantilla front-page.php y home.php , se usará la plantilla index.php fallback.

¿Qué plantilla se utilizará para la página de mi blog?

WordPress le permite tener una página "Blog" (que incluirá las publicaciones recientes) en una página diferente de la página de destino (por ejemplo, http://www.example.com/blog/ ). Entonces, si este es el caso de su sitio, la página del blog siempre usará la plantilla home.php . Si home.php no existe, se utilizará la plantilla index.php fallback.

¿Cómo configurar la página de destino y el blog?

Para configurar qué contenido mostrar en su página principal, vaya a WordPress Admin , en Herramientas > Leyendo , allí puede configurar " Pantallas de la página frontal " para mostrar una página estática o sus últimas publicaciones.

En el caso de que elija mostrar una página estática en la página principal, también tiene la posibilidad de establecer qué página usar como marcador de posición para la página del Blog (que usará la plantilla home.php ):

    
respondido por el asked Feb 12 '12 21.08.2013 - 09:18
3

tomado de Jerarquía de plantillas de Wordpress

  

Visualización de la página de inicio

     

Por defecto, WordPress configura la página de inicio de su sitio para mostrar su   últimas publicaciones del blog. Esta página se llama el índice de publicaciones del blog. Usted puede   también configura las publicaciones de tu blog para que se muestren en una página estática separada. los   El archivo de plantilla home.php se utiliza para representar el índice de publicaciones del blog, ya sea   se está utilizando como portada o en una página estática separada. Si   home.php no existe, WordPress utilizará index.php.

     
  1. home.php
  2.   
  3. index.php
  4.   
    

Nota: Si existe front-page.php, anulará la plantilla home.php.

  
     

Visualización de la página frontal

     

El archivo de plantilla front-page.php se usa para representar el frente de su sitio   página, si la página frontal muestra el índice de publicaciones del blog (mencionado   arriba) o una página estática. La plantilla de la portada tiene prioridad sobre   La plantilla del índice de entradas de blog (home.php). Si el archivo front-page.php   no existe, WordPress utilizará home.php o page.php   archivos según la configuración en Ajustes → Lectura. Si ninguno de   esos archivos existen, utilizará el archivo index.php.

     

1. front-page.php : se usa tanto para "tus últimos mensajes" como para "una página estática"   según lo establecido en la página frontal, se muestra la sección de Configuración → Lectura.

     

2. home.php : si WordPress no puede encontrar front-page.php y "su última versión   posts ”se encuentra en la sección de pantallas de la página frontal, buscará   home.php. Además, WordPress buscará este archivo cuando el   La página de publicaciones se encuentra en la sección de pantallas de la página frontal.

     

3. page.php - Cuando   "Página frontal" se establece en la sección de pantallas de la página frontal.

     

4. index.php -   Cuando "sus últimos mensajes" se establece en la sección de la página frontal muestra pero   home.php no existe o cuando la página principal está configurada pero page.php sí existe   no existe.

     

Como puedes ver, hay muchas reglas para la ruta   WordPress toma. Usar la tabla de arriba es la mejor manera de determinar   lo que WordPress mostrará.

Gráfico de jerarquía de plantillas:

    
respondido por el samix73 07.11.2015 - 21:39
2

Decidí probar qué plantilla se usa para cada una de las siguientes páginas cuando se configuran las distintas opciones de la página de inicio.

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

Los resultados son bastante largos, pero se pueden usar como referencia o como hoja de trucos.

Fuente: ¿En qué se diferencian las plantillas de front-page.php y home.php en WordPress?

Nota para el editor: Intenté copiar y pegar las tablas aquí, pero se requiere un formato de reducción en lugar de HTML. Por favor conviértalo a markdown si puede.

    
respondido por el henrywright 25.04.2017 - 03:26

Lea otras preguntas en las etiquetas