La lógica de la portada 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 de antes, quemé una cantidad de tiempo impía para armar mi hoja de trucos de lógica de portada .
Pero dado que este es un hilo popular, déjame intentar responder a esas preguntas muy específicas que tenías.
¿Cuál es la diferencia entre home.phpy index.php?
home.phpes una plantilla para el índice de publicaciones (archivo del 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 una página dedicada de publicaciones.
index.phpes catch-all template. Son las elecciones finales en todas las ramas de la jerarquía de plantillas y se elegirán cuando nada más se ajuste, tanto para archivos como para vistas singulares.
Solo se puede usar el índice de publicaciones home.php, pero todos los demás contextos pueden y lo harán index.php.
¿Cuál es la condición ideal para usar un home.phpque unindex.php
Se utiliza home.phppara personalizar el índice de publicaciones.
Se utiliza index.phppara proporcionar la plantilla más genérica en su tema, adecuada para mostrar cualquier cosa.
Algunos temas eligen tener vacíos index.phpy asegurarse de que tienen plantillas más específicas para todos los casos posibles, por lo que nunca tiene que usarse.
¿Cuál 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 raíz o estática, 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 portada estática. Por esta razón, casi nunca se incluye en los temas publicados públicamente (lo cual es correcto).
Su mejor uso es en proyectos privados, ya que es más fácil de configurar que la plantilla de página.
Cuando estoy usando una front-page.php, ¿qué tarea específica index.phpestá haciendo una para mí?
index.phpsigue siendo una plantilla catch all para todos los demás casos.
Si usa la página frontal estática (a la que front-page.phpse aplicará), su página de publicaciones intentará usar home.phpy luego index.php.