Contents
Introducción
En el desarrollo de temas para WordPress, las plantillas de página ofrecen un mecanismo poderoso para personalizar la apariencia y funcionalidad de ciertas páginas de tu sitio. Este artículo detalla paso a paso cómo crear múltiples plantillas de página en tu tema, cubriendo desde la teoría de la jerarquía de plantillas hasta ejemplos prácticos y buenas prácticas.
1. Fundamentos de las plantillas de página
1.1 ¿Qué es una plantilla de página
Una plantilla de página es un archivo PHP que controla la presentación de una página (post type page
) en WordPress. A diferencia del template hierarchy genérico, las plantillas de página permiten asignaciones específicas vía el editor de página.
1.2 Jerarquía de plantillas
WordPress busca archivos en un orden determinado. Para páginas (page
) sigue:
custom-template.php
(si se asigna en el editor)page-{slug}.php
page-{ID}.php
page.php
singular.php
index.php
Para más detalle, consulta la guía oficial: Template Hierarchy.
2. Creación de plantillas de página
2.1 Archivo y encabezado de plantilla
Crea un archivo en la raíz del tema o en una subcarpeta (p.ej. page-templates/
). Al inicio del archivo, agrega un bloque de comentario:
Los campos Template Name
y Description
son obligatorios para que WordPress reconozca la plantilla.
2.2 Estructura básica
Un ejemplo mínimo:
3. Uso de múltiples plantillas
3.1 Organización de archivos
Para un tema limpio, coloca todas las plantillas de página en page-templates/
:
page-templates/portfolio.php
page-templates/contacto.php
page-templates/sin-sidebar.php
De esta forma, mantienes la raíz del tema ordenada.
3.2 Registro de directorio (WordPress 4.7 )
Desde WP 4.7, es posible agrupar plantillas en carpetas sin código adicional. Sólo asegúrate de que el bloque de comentario esté presente.
3.3 Asignación en el editor
Al editar una página en el panel de WordPress, en la caja Atributos de la página > Plantilla aparecerán todas tus plantillas personalizadas.
4. Ejemplos avanzados
4.1 Plantilla con consulta personalizada
Para mostrar entradas de un CPT (Custom Post Type), añade una consulta WP_Query:
4.2 Plantillas condicionales en functions.php
Puedes generar dinámicamente plantillas según condiciones. Ejemplo:
add_filter( theme_page_templates, mi_registro_plantillas )
function mi_registro_plantillas( templates ) {
templates[template-blog.php] = Página Blog Personalizada
return templates
}
add_filter( template_include, mi_inclusion_plantilla )
function mi_inclusion_plantilla( template ) {
if ( is_page_template( template-blog.php ) ) {
campus = locate_template( array( custom-templates/blog-template.php ) )
if ( campus ) {
return campus
}
}
return template
} >
5. Buenas prácticas
- Nombres claros: Usa prefijos del tema para evitar colisiones.
- Documentación: Documenta encabezados con
Version
,Author
. - Mantenimiento: Organiza en carpetas y aporta README si es necesario.
- Accesibilidad: Asegúrate de que cada plantilla cumpla WCAG.
- Performance: Minimiza consultas o usa transients si muestras listados pesados.
6. Resumen de nombres y jerarquía
Archivo | Prioridad | Uso |
---|---|---|
custom-template.php | 1 | Asignada manualmente |
page-{slug}.php | 2 | Página con slug específico |
page-{ID}.php | 3 | Página con ID específico |
page.php | 4 | Plantilla genérica de páginas |
Conclusión
Crear múltiples plantillas de página en tu tema de WordPress mejora la flexibilidad y personalización de tu sitio. Siguiendo la jerarquía de plantillas, aplicando nombres claros y organizando tu estructura de archivos, podrás ofrecer diseños únicos y optimizados para cada sección de tu proyecto. Para profundizar, visita la documentación oficial de WordPress:
|
Acepto donaciones de BAT's mediante el navegador Brave 🙂 |