Estoy realmente confundido con index.php
, home.php
y front-page.php
. En muchos casos, aunque tenía un index.php
, Lo sobrescribo con front-page.php
. Pero recientemente, me di cuenta de home.php
.
- ¿Qué ¿Cuál es la diferencia entre
home.php
yindex.php
? - ¿Cuál es la condición ideal para usar un
home.php
que unindex.php
? - ¿Cuál es la condición ideal para utilizar un
front-page.php
? - Cuando «estoy usando un
front-page.php
, ¿qué tarea específica está haciendo unindex.php
por mí? entonces?
He leído la Jerarquía de plantillas en el Codex. Por favor, no mezcle mi pregunta con Plantillas de página, las entiendo, alHamduLILLAH.
Comentarios
- Tengo @rarst con esto: rarst.net/wordpress/front-page-logic . Puede ayudarte.
Responder
La lógica de la página principal es una de las características más confusas de WordPress y es excepcionalmente difícil de explicar y resumir. Como se mencionó en el comentario hace tiempo, dediqué una cantidad de tiempo impía para armar mi hoja de trucos de lógica de la página principal .
Pero desde esto es un hilo popular déjame intentar responder esas preguntas muy específicas que tenías.
¿Cuál es la diferencia entre
home.php
yindex.php
?
home.php
es plantilla para índice de publicaciones (archivo de tipo de publicación nativa, 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 dedicada.
index.php
es una plantilla global. Son las opciones finales en todas las ramas de la jerarquía de plantillas y se seleccionarán cuando nada más encaja, tanto para archivos como para vistas singulares.
Solo el índice de publicaciones puede usar home.php
, pero todos otros contextos pueden usar y usarán index.php
.
¿Cuál es la condición ideal para usar un
home.php
que unindex.php
Usas home.php
para personalizar el índice de publicaciones.
Utiliza index.php
para proporcionar la plantilla más genérica en su tema, adecuada para mostrar cualquier cosa.
Algunos temas eligen tener index.php
y asegúrese de que tengan plantillas más específicas para todos los casos posibles, de modo que nunca tenga que usarse.
¿Qué «¿Es la condición ideal para usar un
front-page.php
?
front-page.php
se usa para el índice de publicaciones en la página principal estática o raíz, si está habilitado.
Es una plantilla de alta prioridad, por lo que 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 temas publicados públicamente (lo cual 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 un
front-page.php
, ¿qué tarea específica es unindex.php
¿Qué está haciendo por mí entonces?
index.php
es todavía una plantilla de captura de todos 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
.
Responder
El front-page.php
el archivo es la plantilla de la portada del sitio . Siempre se utilizará en la portada de su sitio, independientemente de si get_option( "show_on_front" )
está configurado como page
o posts
.
El archivo de plantilla home.php
es el índice de publicaciones de blog plantilla. Siempre se utilizará para mostrar el índice de publicaciones de su blog, independientemente de si el índice de publicaciones del blog se muestra en la página principal del sitio o en una página diferente.
En el caso de que ambos front-page.php
y home.hpp
existen, y get_option( "show_on_front" )
está configurado en posts
(es decir, la página principal del sitio muestra 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 de respaldo predeterminada para todos los contextos de la Jerarquía de plantillas . Solo se usa 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 - If
"posts" == get_option( "show_on_front" )
: jerarquía de índice de entradas de blog
La jerarquía de plantillas para í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
Comentarios
- Entonces, si ‘ estoy haciendo esto bien, ‘ sn No es posible usar la plantilla
my-template-1
cuando la página principal está configurada para las últimas publicaciones y usarmy-template-2
cuando la portada está configurada como una página estática ( sin codificación)?
Respuesta
Todo esto proviene de una lectura completa del Jerarquía de plantillas .
home.php
se usa si:
- Su sitio» s La página principal está configurada para mostrar una lista de publicaciones, o
- Se configura una página principal estática , y
- A el visitante va a la página que «definiste como tu» lista de publicaciones «(p. ej.,
http://example.com/blog/
)
- Y el el tema tiene un
home.php
archivo
Si no se cumple la última condición, es decir, no hay home.php
en el tema, luego se cargará index.php
.
front-page.php
se usará si :
- Un frente estático p la edad está configurada , y
- Un visitante va a la página que «ha definido como su» página de inicio estática «(es decir,
http://example.com/
) y - El tema tiene un
front-page.php
archivo
Si no se cumple la última condición, es decir, no 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
.
Comentarios
-
home.php
se usarán para el índice de publicaciones del blog, independientemente de localización. Si la página principal está configurada para mostrar el índice de publicaciones del blog, entonces se usaráhome.php
(sifront-page.php
no existe).
Respuesta
En resumen:
-
index.php
es solo una plantilla alternativa, en caso de que no se encuentre una 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 utiliza como último recurso cuando no hay disponible otra plantilla más adecuada. Por ejemplo, si no tiene una front-page.php
ni una home.php
, entonces index.php
Esto también es válido para archive.php
o single.php
y así sucesivamente.
Con respecto a front-page.php
VS home.php
Ahora la diferencia entre front-page.php
y home.php
templates es que el front-page.php
se usa, como su nombre indica, como la página principal del sitio, mientras que home.php
está destinado a ser el hogar de la sección Blog .
Qué plantilla será utilizado para la página de destino de mi sitio?
La plantilla front-page.php
, si está presente, se utilizará para la página principal del sitio (por ejemplo, http://www.example.com/
). Si no está presente, se usará home.php
en su lugar. Si tanto el front-page.php
y faltan archivos de plantilla, entonces se usará la index.php
plantilla alternativa.
¿Qué plantilla se usará para mi página de blog?
WordPress le permite tener una página de «Blog» (que enumerará las publicaciones recientes) en una página diferente que la página de destino (p. ej. http://www.example.com/blog/
).Entonces, si este es el caso en su sitio, la página del Blog siempre usará la plantilla home.php
. Si home.php
no existe, se utilizará la index.php
plantilla de reserva.
Cómo configurar el aterrizaje- página y página de blog?
Para configurar qué contenido mostrar en su página principal, vaya al Administrador de WordPress , en Herramientas> Lectura , puede configurar las « pantallas de la página principal » 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 el Blog página (que utilizará la plantilla home.php
):
Respuesta
tomado de Jerarquía de plantillas de WordPress
Visualización de la página de inicio
De forma predeterminada, WordPress configura la página de inicio de su sitio para que muestre las últimas publicaciones de su blog. Esta página se llama índice de publicaciones de blog. También puede configurar las publicaciones de su blog para que se muestren en una página estática separada. El archivo de plantilla home.php se usa para representar el índice de publicaciones del blog, ya sea que se use como página principal o en una página estática separada. Si home.php no existe, WordPress usará index.php.
- home.php
- index.php
Nota: Si existe front-page.php, anulará la plantilla home.php.
Visualización de la página principal
El archivo de plantilla front-page.php se utiliza para representar la página principal de su sitio, ya sea que la página principal muestre el índice de publicaciones del blog (mencionado anteriormente) o una página estática. La plantilla de la página principal tiene prioridad sobre la plantilla del índice de publicaciones del blog (home.php). Si el archivo front-page.php no existe, WordPress usará los archivos home.php o page.php dependiendo de la configuración en Configuración → Lectura. Si ninguno de esos archivos existe, usará el archivo index.php.
1. front-page.php : se utiliza tanto para «tus últimas publicaciones» como para «una página estática» según lo establecido en la sección de pantallas de la página principal de Configuración → Lectura.
2. home.php – Si WordPress no puede encontrar front-page.php y «tus últimas publicaciones» está configurado en la sección de visualización de la página principal, buscará home.php. Además, WordPress buscará este archivo cuando la página de publicaciones esté configurada en la sección de visualización de la página principal.
3. page.php – Cuando se establece “página principal” en la sección de visualización de la página principal.
4. index.php – Cuando «tus últimas publicaciones» está configurado en la sección de visualización de la página principal pero home.php no existe o cuando la página principal está configurada pero page.php no existe .
Como puede ver, hay muchas reglas sobre el camino que toma WordPress. Usar el gráfico anterior es la mejor manera de determinar qué mostrará WordPress.
Respuesta
Decidí probar qué plantilla se utiliza para cada una de las siguientes páginas cuando se establecen las distintas opciones de visualización de la página principal.
- example.net
- example.net/home/
- example.net/blog/
Los resultados son bastante largos, pero se pueden usar como referencia o como hoja de referencia.
Fuente: ¿Cómo ¿Las plantillas front-page.php y home.php difieren en WordPress?
Nota para el editor: Intenté copiar y pegar las tablas aquí, pero se requiere formato de rebajas en lugar de HTML. Convierta a rebajas si puede.