Nueva Jerarquía de archivos WordPress
Desde la versión 3.0 de WordPress la jerarquía de archivos ha cambiado de forma significativa.
Se entiende por jerarquía de archivos el orden con que WordPress carga los archivos de un theme necesarios para generar la página web. Esta preferencia o prioridad dependerá de lo que se va a mostrar en cada momento, post, página, categoría, tag, etc.
En cada caso WordPress busca archivos con nombres concretos en el directorio del theme y utiliza el que coincide con la consulta que se ha realizado. Si no puede encontrar un archivo con el nombre correspondiente, salta al siguiente nombre en la jerarquía de archivos.
Comprender como funciona la jerarquía de archivos de WordPress es importante a la hora de personalizar un theme y configurarlo para generar la información según de que página se trate.
Las últimas versiones de WordPress incorporan nuevas funcionalidades como los Custom Post Types (tipos de post personalizados) y las taxonomías. Esto hace que se amplíe la jerarquía para adaptar estos cambios a la vez que se facilita la creación de themes.
En la versión 2.9 ya se modificó un poco la jerarquía al permitir que se llamara a las páginas y categorías por su identificador ID y por su slug (versión amigable del nombre). De manera que page-{id}.php, page-{slug}.php, category-{id}.php y category-{slug}.php podían formar parte de los archivos de un theme.
Los archivos que se añaden a la lista existente a partir de la versión 3.0 son:
- front-page.php - Puede usarse como página de inicio o página de posts, viene a sustituir a la página estática de inicio del menú Ajustes, Lectura.
- single-{post_type}.php - Para el post individual de un Custom Post Type
- taxonomy.php - Para las taxonomías
- taxonomy-{taxonomy}.php - Para una taxonomía concreta
- taxonomy-{taxonomy}-{slug}.php - Para un slug concreto de una taxonomía.
- author-{id}.php - Para la página de un autor concreto por su ID
- author-{nicename}.php - Para la página de un autor concreto por su nicename
En la versión 3.1 se añadió archive-{post_type}.php para los archivos de un Custom Post Type. Es decir, si tenemos un Post Type llamado juegos, al seleccionar la url miblog.com/juegos WordPress cargará el archivo archive-juegos.php.
Por supuesto, también hay que añadir a esta lista las plantillas para las páginas personalizadas, que comienzan por:
<?php
/*
Template Name: Mi Template
*/
?>
Así queda la jerarquía de archivos de WordPress a la fecha actual Codex.