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
?>