Template Hierarchy
La Template Hierarchy es el sistema de WordPress para decidir qué archivo PHP del tema se carga en cada URL. Siempre busca el archivo más específico primero y termina en index.php como último recurso obligatorio.
Regla general
Más específico → más genérico → index.php
Jerarquía por tipo de página
// Post individual
single-{post_type}-{slug}.php
single-{post_type}.php
single.php → singular.php → index.php
// Ejemplo CPT 'producto', slug 'zapatillas-running':
// single-producto-zapatillas-running.php (muy específico)
// single-producto.php (todos los productos)
// single.php (todos los posts)
// index.php (último recurso)
// Página estática
page-{slug}.php → page-{id}.php → page.php → singular.php → index.php
// Categoría
category-{slug}.php → category-{id}.php → category.php → archive.php → index.php
// Archivo de CPT
archive-{post_type}.php → archive.php → index.php
// Home / blog
home.php → index.php
// Portada estática
front-page.php → page.php / home.php → index.php
// 404
404.php → index.php
// Búsqueda
search.php → index.php
// Autor
author-{nicename}.php → author-{id}.php → author.php → archive.php → index.php
Cómo aprovecharlo en la práctica
// Plantilla específica para la página con slug "contacto"
// Crea: page-contacto.php en la raíz del tema
// Plantilla para todos los productos
// Crea: single-producto.php
// Plantilla para el archivo de noticias
// Crea: archive-noticia.php
Plantilla de página personalizada
<?php
/**
* Template Name: Página sin sidebar
* Template Post Type: page
*/
// Ahora aparece en el editor como opción de plantilla
?>
