Las plantillas de un tema de WordPress [WordPress Themes II]

Esta es la segunda entrega del tutorial de cómo crear Temas de WordPress desde cero.

Plantilla vs tema, no son lo mismo

Tal y como explicaba en la primera parte del tutorial, un tema es un conjunto de ficheros que le dan apariencia a nuestro sitio web creado con WordPress.

Bien, entre estos ficheros se encuentran diferentes plantillas, que dan la apariencia concreta a según qué sección.

Dicho de otra forma, una plantilla es el fichero que se encarga de representar un tipo de contenido dentro de nuestro tema.

Algunos ejemplos de plantillas podrían ser:

¿Ves por donde voy? Seguro que si.

Las plantillas básicas de WordPress

Como sabrás, cuando creamos un tema de WordPress podemos crear diferentes plantillas para según el contenido que vayamos a visualizar.

Algunas de las plantillas más utilizadas son:

Ya te haces una idea de para qué sirve, ¿verdad?

Cada una de ellas se encarga exclusivamente de representar ese tipo de contenido, nada más.

Personalizando las plantillas de WordPress

Sin entrar en código, te puedo decir que todas las plantillas anteriores pueden ser personalizadas independientemente según el contenido que vayamos a mostrar.

Por ejemplo: supongamos que queremos mostrar la información de un autor del blog, pero de una manera diferente al resto de autores.

En este caso, tendremos una plantilla author.php genérica y, además, tendremos una que será específica para el autor que queremos diferenciar. ¿Cómo hacemos esto? Fácil, añadiendo el id al nombre del fichero.

Por ejemplo, si el autor «Fulanito» tiene el ID 33, nuestro fichero personalizado para dicho autor se llamará author-33.php; si queremos modificar la categoría con id 41, category-41.php y así sucesivamente (page-31.php), etc.

No es complicado, ¿eh?

Hay una forma más «elegante» de hacerlo, pero a mi personalmente no me gusta, porque el «nicename» (o nombre bonito, haha) puede ser modificado. Digamos que podemos crear la plantilla que modifica la apariencia del autor «Fulanito» con author-33.php o con author-fulanito.php. Lo mismo en los ejemplos de category-micategoria.php, page-contacto.php, etc.

Crea tus propias plantillas

Según el proyecto, notarás que este sistema es super potente; o por el contrario, que se queda pequeño.

No te preocupes, puedes crear tus propias plantillas.

En mi caso, suelo utilizar mucho las siguientes:

Para crear tu propia plantilla sólo tienes que crear el fichero con el nombre que prefieras con la extensión php y añadir el siguiente código al principio del mismo:

<?php
/**
 * Template Name: Nombre de mi plantilla
 */
?>

Y ya está, si vas a cualquier página de tu instalación WordPress, verás que aparece en la barra de la derecha para ser seleccionada; fácil, ¿a que sí?

Jerarquía de las plantillas

Cuando un visitante llega a nuestro sitio web, WordPress ejecuta una serie de comprobaciones para, basándose en la URL, saber qué contenido debe de mostrar.

Este tipo de funciones las veremos más adelante, pero sirven para saber qué contenido está solicitando el visitante.

Algunos ejemplos son is_home(), is_search(), is_category()…

A continuación os dejo el mapa de la jerarquía de las plantillas de WordPress:
wordpress_cheat_sheet_template_map_preview

Si te fijas, podrás entender el mapa fácilmente; el visitante llega por la izquierda, WordPress realiza la comprobación de qué contenido se está solicitando y empieza a buscar las plantillas correspondientes de izquierda a derecha.

Por ejemplo, supongamos que llega a una página de etiqueta.

Los pasos son los siguientes:

  1. El visitante llega a nuestro sitio web, concretamente a la etiqueta «sensacion»
  2. WordPress hace la comprobación con is_tag(), que devuelve afirmativo
  3. WordPress intenta cargar la plantilla tag-sensacion.php; pero no existe.
  4. Como el caso anterior fue fallido, el siguiente intento lo hace con tag-46.php (que es el id de la etiqueta «sensacion»); pero tampoco tiene éxito. No tenemos esa plantilla creada en nuestro theme
  5. El siguiente intento lo hace con la plantilla genérica tag.php.
  6. Si no existiese esta plantilla, probaría con archive.php
  7. En última instancia mostrará el contenido con el index.php.

En el siguiente capítulo conoceremos el loop de WordPress. Próximamente…

¡MANTENME INFORMADO!

¡Gracias por tu interés en estar informado del próximo lanzamiento de mis cursos! 😎

¡No hago spam! Lee la política de privacidad para tener más información.

2 comentarios en “Las plantillas de un tema de WordPress [WordPress Themes II]

  1. Hola, gracias por la información, me ha sido de gran ayuda, por ahora estoy dando mis primeros pasos en wordpress, me parece fascinante la potencia y la facilidad en la cual puedo, migrar mis diseños estáticos creados en html a dinamicos con este CMS.

Deja una respuesta

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

*

*

DARÍO BALBONTÍN FERNÁNDEZ es el Responsable del tratamiento de los datos personales del usuario y le informa que estos datos serán tratados de conformidad con lo dispuesto en el Reglamento (UE) 2016/679 de 27 de abril (GDPR) y la Ley Orgánica 3/2018 de 5 de diciembre (LOPDGDD), por lo que se le facilita la siguiente información del tratamiento: Fin del tratamiento: mantener una relación comercial y el envío de comunicaciones sobre nuestros productos y servicios. Criterios de conservación de los datos: se conservarán mientras exista un interés mutuo para mantener el fin del tratamiento y cuando ya no sea necesario para tal fin, se suprimirán con medidas de seguridad adecuadas para garantizar la seudonimización de los datos o la destrucción total de los mismos.Comunicación de los datos: No se comunicarán los datos a terceros, salvo obligación legal. Derechos que asisten al usuario: Derecho a retirar el consentimiento en cualquier momento. Derecho de acceso, rectificación, portabilidad y supresión de sus datos y a la limitación u oposición al su tratamiento. Derecho a presentar una reclamación ante la Autoridad de control (agpd.es) si considera que el tratamiento no se ajusta a la normativa vigente. Datos de contacto para ejercer sus derechos: contacto@dariobf.com.