¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. WordPress
  3. Las plantillas de página
Extrait - WordPress Desarrolle con PHP - extensiones, widgets y temas avanzados (teoría, TP, recursos) (2ª edición)
Extractos del libro
WordPress Desarrolle con PHP - extensiones, widgets y temas avanzados (teoría, TP, recursos) (2ª edición) Volver a la página de compra del libro

Las plantillas de página

¿Qué es una plantilla de página?

Una plantilla de página permite la visualización de las páginas del sitio web (page.php, sidebar.php, archive.php, etc.) que componen los temas. Pero WordPress también le permite agregar sus propias plantillas de página, agregando sus propios archivos PHP.

Las plantillas de página personalizadas se pueden basar en archivos existentes del temas o no, usted es completamente libre en cuanto a su contenido.

WordPress permite la adición de diferentes tipos de plantillas de página: para el inicio, páginas (page.php), páginas individuales (single.php), archivos (archive.php), categorías (category.php), etiquetas (tag.php), autores (author.php), etc.

Una plantilla de página le permite tener una disposición particular y así cambiar completamente el diseño.

WordPress muestra ciertas plantillas de página según una jerarquía relativa al nombre del archivo PHP.

Por ejemplo, si en algunas páginas desea mostrar una barra lateral y en otra página no la desea, puede usar dos tipos diferentes de plantillas de página. Esto hace posible ofrecer temas flexibles para usuarios nuevos en PHP.

Crear plantillas de página para el inicio

Dependiendo de lo que necesite mostrar, WordPress busca en el directorio de temas y usa el primer archivo de plantilla que encuentra de acuerdo con la lista que puede ver a continuación:

  • home.php mostrará la página de inicio para el blog,

  • front-page.php permitirá mostrar la página de inicio de un sitio estático.

Esto, dependiendo de la configuración definida en la administración Ajustes - Lectura.

Si estos archivos no existen, WordPress busca un archivo llamado index.php en el directorio del tema y luego lo usa para generar la página de inicio. Sin embargo, puede crear estos archivos si no existen.

Otro método es definir una página de inicio específica en la administración Ajustes - Lectura y luego crear una plantilla de página para la sección Atributos de página, específica para la página de inicio.

Crear plantillas de página para el bloque Atributos de página

Seleccione plantillas en administración usando la sección Atributos de página.

Las plantillas de página se pueden incluir de base en los temas, como para el tema Twenty Twenty de WordPress. Pero algunos temas no las usan, como los temas Twenty Nineteen, Twenty Seventeen, Twenty Sixteen y Twenty Fifteen de WordPress. En cualquier caso, puede utilizar esta función muy fácilmente. 

images/07pagina_3.png

Sección Atributos de página del tema Twenty Twenty

Cree un archivo PHP en la raíz del tema o en una carpeta específica (por ejemplo: plantillas de página) en el directorio de su tema. Dele el nombre que quiera.

Para orientarse más fácilmente, use el prefijo "template-", que da como resultado template-nombredetemplate.php.

Por ejemplo, el tema Twenty Twenty admite tres tipos de páginas: plantilla predeterminada, plantilla con banner y plantilla de ancho completo. Se corresponden con los archivos de la carpeta wp-content/themes/twentytwenty/templates. El archivo template-cover.php se corresponde con la plantilla con banner y el archivo template-full-width.php con la plantilla de ancho completo. La página predeterminada es el archivo page.php.

Una vez creado su archivo, edítelo y escriba en la parte superior del archivo, en un comentario PHP:

<?php 
/* 
Template Name: Nombre de template ...

Crear otras plantillas de página

Puede crear plantillas de página específicas, en función del identificador o del nombre clave de una página, categoría, etiqueta o autor. WordPress detectará automáticamente el archivo en función del identificador o del nombre clave y mostrará la plantilla de página en consecuencia.

Para ello, debe crear un archivo en la raíz del tema. Nómbrelo según el tipo de página:

  • page-{id}.php o page-{nombre-clave}.php

  • taxonomy-{nombre-de-taxonomía}.php

  • category-{id}.php o category-{nombre-clave}.php

  • tag-{id}.php o tag-{nombre-clave}.php

  • author-{id}.php o author-{nombre-clave}.php

Por ejemplo, para una página cuyo id es 6, el archivo se llamará "page-6.php"; para una página cuyo nombre clave es "quienes-somos-nosotros", el archivo se llamará "page-quienes-somos-nosotros.php".

También puede agregar plantillas de página para tipos de artículos personalizados (post_type), que se agregaron con la función de WordPress register_post_type() (consulte el capítulo Personalizar el sitio web con el archivo functions.php - sección Añadir otros tipos de artículos).

WordPress detectará automáticamente el archivo según el nombre clave...

Jerarquía de los modelos de página

Aquí está la lista jerárquica que usa WordPress. Si el primer archivo no existe, WordPress buscará el siguiente.

Visualización de la página de inicio

1. home.php o front-page.php

2. index.php

Visualización de un artículo únicamente

1. single.php

2. index.php

Visualización de una página

1. La plantilla elegida al escribir la página desde el menú Plantilla de página (si se usa la opción).

2. page.php

3. index.php

Visualización de una categoría

1. category-{id}.php

2. category.php

3. archive.php

4. index.php

Visualización de un autor

1. author.php

2. archive.php

3. index.php

Visualización de una página fechada

1. date.php

2. archive.php

3. index.php

Visualización de resultados de búsqueda

1. search.php

2. index.php

Visualización de una página 404

1. 404.php

2. index.php

Visualización de los archivos adjuntos

1. image.php, video.php, audio.php, application.php o cualquier otro prefijo de tipo MIME

2. attachment.php

3. single.php

4. index.php