Seleccionar página

wordpress-pluginAsí que te gustaría aprender a hacer Plugins para WordPress. Por eso estamos aquí y ahora. He de reconocer que, en mi caso, ojalá me hubiera topado con un curso como el que estoy a punto de escribir. Todo lo que aprendí, fue gracias a buscar en Google y en el Codex de WordPress. Te animo a que también lo hagas, pero este curso te servirá de ayuda si eres nuevo en estos lares.

Lo primero es lo primero, vamos a entender un par de cosas rápidamente.

Qué es un plugin

No puedo dar por sentado que todo el mundo sabe lo que es un plugin, tengo que explicarlo. Un Plugin es un complemento o extensión que añade una funcionalidad nueva al sistema, sin mezclarse en ningún caso con el código fuente de dicho sistema. En el caso de WordPress, es exactamente esto.

Los plugins en WordPress se programan fundamentalmente con PHP, probablemente acompañado de HTML, CSS, JavaScript...

Los Plugins en WordPress

La gran ventaja de los Plugins es que no se mezclan con el código fuente de WordPress, se mantienen siempre al margen, pero funcionando conjuntamente, lo que nos aporta serias ventajas:

  • Podemos actualizar WordPress sin que ello suponga, a priori, que nuestro plugin deje de funcionar (Salvo que usase funciones antiguas y WordPress las haya eliminado, y por tanto el plugin deje de ser compatible).
  • Podemos activar y desactivar un plugin siempre que queramos.

Por lo general, usamos Plugins para que nuestro WordPress sea capaz de hacer algo nuevo: un widget que muestra Twitter, una galería de imágenes… Los Plugins los buscamos en el Repositorio oficial de Plugins de WordPress. El buscador integrado que tenemos en “Plugins” > “Añadir Nuevo” muestra los Plugins de este repositorio. Gracias a este sistema, podemos tener controlados los Plugins instalados en nuestro WordPress, saber cuándo ha salido una nueva versión del Plugin y tenemos que actualizarlo, o consultar los foros de soporte del Plugin.

Diseñando un Plugin

Es importante mantener las cosas claras a la hora de diseñar y programar un Plugin. Quiero decir, es importante que sepamos, por ejemplo, si el Plugin va a añadir un Widget, un Tipo Personalizado, Meta Boxes… En función de ello, y como consejo de buena práctica a la hora de programar, debemos crear los archivos y el árbol de directorios que sea necesario. Por ejemplo, para los Widgets, yo suelo crear dos directorios: “include” > “widgets”, y dentro, los Widgets necesarios. Pero eso ya es cosa de cada uno a la hora de programar.

La estructura mínima obligatoria para un Plugin consiste en una carpeta y un archivo .php. Aunque no es obligatorio, por comodidad ambos deberían tener el mismo nombre: es el nombre del Plugin. Por ejemplo:

(raíz de WordPress) > wp-content > plugins > test-plugin > test-plugin.php

Como ya habréis deducido, la carpeta de nuestro Plugin se coloca en wp-content > plugins.

La cabecera de un Plugin

Bien, el archivo .php que hemos creado será el archivo principal del Plugin. Sin este archivo, el sistema no reconocerá el Plugin correctamente.

Dentro de este archivo, justo arriba del todo, debemos establecer una cabecera con datos relevantes sobre el plugin. Algo parecido a esto:

Este bloque de texto es necesario para crear un plugin. Sin embargo, si nuestra idea es publicarlo en el Repositorio Oficial, tened en cuenta que tendréis que añadir una copia de la licencia GPL2.

Internacionalización, o soporte multilenguaje

Aunque no me voy a detener ahora a explicarlo, será conveniente que decidamos ahora mismo si nuestro plugin va a tener soporte multilenguaje. Si la respuesta es sí, tenemos que cambiar un poco el chip.

Traducir un Plugin de WordPress es muy sencillo, si está convenientemente preparado. Los textos “fijos” que queramos que sean traducidos deben escribirse a través de una función especial. Por ejemplo, si nuestro plugin muestra un título como este:

La forma correcta de mostrarlo para que luego pueda ser traducido es la siguiente:

La funcion “__” (doble guión bajo) es una función que especifica a WordPress que esta frase cuenta con una traducción. Hay otras funciones similares que explicaré más adelante. De momento, lo importante es que os mentalicéis de que todo lo traducible hay que escribirlo así.

El archivo readme.txt

No es obligatorio, salvo que tu intención sea subir el Plugin al repositorio. El archivo readme.txt ofrece, de forma extensa y detallada, toda la información de tu Plugin. Se escribe de una forma muy concreta para que el repositorio, a partir de este archivo, construya la página con la información y el enlace de descarga del Plugin.

Más adelante os hablaré de la publicación de un plugin en el repositorio, y por tanto, del archivo readme.

De momento, esta ha sido la primera clase de muchas. Sé que no hemos entrado en materia profundamente, pero todo a su tiempo.

“La imaginación es más importante que el conocimiento.
El conocimiento es limitado, mientras que la imaginación no”
.- Albert Einstein