Cómo crear múltiples plantillas de página en tu tema

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:

Página de plantillas de página (WP Developer)



Acepto donaciones de BAT's mediante el navegador Brave 🙂



Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *