Crear un tema WordPress desde cero – La estructura de archivos

Programando una plantilla desde cero tienes todas las posibilidades del mundo. Puedes hacer lo que quieras. Utilizar boopstrap, jQuery, Prototype, etc., pero siempre tienes que respetar una estructura básica de archivos que utiliza WordPress.

Antes de hablar de los archivos que deben componer nuestro tema debemos saber que existe una jerarquía que WordPress recorre en un orden específico.

Template_Hierarchy

Por ejemplo, si nos fijamos en el archivo archive.php que agrupa todos los listados de posts por categorías, autor, fechas, etiquetas. Si solicitamos un listado de entradas de la categoría con id 3 (blog.com/?cat=3), WordPress primero buscará la plantilla para esa categoría específica, que sería category-3.php. Al no encontrarla, busca la plantilla de categorías en general, category.php. Si no existe, utiliza archive.php, si a su vez tampoco existe entonces buscará index.php.

Sabiendo esto, ya debes intuir que dependiendo de las necesidades, se usarán unos archivos u otros y, además, podrás personalizar todas las entradas, todas las páginas de categorías, todas las páginas, etc.

En nuestro caso, lo primero que tendremos que hacer, es añadir nuestro tema en el directorio de temas de WordPress (/wp-content/themes/). Le llamaremos «mytheme».

Existen muchas formas de plantear la estructura de archivos de una plantilla. En nuestra plantilla utilizaremos los siguientes archivos:

  • archive.php –> Agrupa todos los listados de posts por categorías, autor, fechas, etiquetas
  • comments.php –> Contiene el formulario de comentarios y el listado de comentarios de una entrada o página.
  • footer.php –> Contiene los tags del pie de página. Suele cerrar tags que vienen del header.php
  • functions.php –> Es uno de los archivos más importantes y se utiliza para añadir más funcionalidad al tema.
  • header.php –> Contiene los tags de la cabecera <header> y los tags de apertura de los principales contenedores de la página.
  • index.php –> Contiene la página principal de nuestro tema.
  • page.php –> Se utiliza para visualizar las páginas de nuestro tema.
  • screenshot.png –> Imagen identificativa del tema.
  • search.php –> Contiene el listado de los resultados de búsqueda de nuestro tema.
  • searchform.php –> Contiene el formulario de búsqueda de nuestro tema.
  • single.php  –> Se utiliza para visualizar las entradas de nuestro tema.
  • style.css –> Es el archivo que contiene todos los estilos principales del tema.

Además, como queremos añadir el frameword Bootstrap, jQuery Superfish para el menú desplegable y jQuery BxSlider para implementar nuestra slider añadiremos la siguiente estructura a nuestra plantilla:

  • css/bootstrap.css
  • css/superfish.css
  • css/jquery.bxslider.css
  • js/superfish.js
  • js/jquery.bxslider.js

También es una muy buena práctica añadir un directorio para las imágenes que vaya a utilizar nuestra tema:

  • images/

Y además añadiremos una carpeta algo más avanzada que explicaremos su cotenido en capítulos posteriores:

  • includes/

Indice de contenido

Tema 01 - Introducción e ídice de contenido
Tema 02 - La estructura de archivos de una plantilla
Tema 03 - Construyendo la base de nuestra plantilla
Tema 04 - Creación de los menús de navegación
Tema 05 - Creación de zonas para Widgets
Tema 06 - Página principal
Tema 07 - Páginas
Tema 08 - Entradas y comentarios
Tema 09 - Página de categorías y tags
Tema 10 - Formulario de búsqueda y sus resultados
Tema 11 - Página de error 404
Tema 12 - Conclusión y demostración
Autor
Escrito por Jose Aguilar - Director ejecutivo y tecnológico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.
Te ha servido? Valora esta entrada!
(4 votos, promedio: 5 de 5)
Comparte en las redes sociales
¿Buscas trabajo de programador?

Una respuesta a “Crear un tema WordPress desde cero – La estructura de archivos”

  1. […] Crear un tema WordPress desde cero – La estructura de archivos […]

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.