Si quieres aprender y comprender lo que vas a hacer en este tutorial, lo ideal es que pierdas 2 minutos de tu tiempo revisando lo que te voy a mostrar a continuación.
Como todo, no puedes empezar la casa por el tejado, y para poder desarrollar un plugin necesitas tener unos conocimientos básicos:
- Deberás tener conocimientos básicos sobre WordPress.
- Deberás tener conocimientos básicos sobre PHP.
- Deberás saber lo que es un plugin en WordPress.
- Deberás saber lo que es el core de WordPress.
- Deberás saber lo que es un API de WordPress.
- Tienes que saber usar los hooks de WordPress.
- Tienes que saber manejarte con MySQL o al menos tener una idea de bases de datos.
Herramientas: todo lo que necesitas para poder crear un plugin en WordPress
Cuando desarrollas cualquier tipo de software, lo ideal es tener un entorno de pruebas. Si no es tu caso, este es el momento de crearlo. NUNCA trabajes sobre tu página web. Si hay un error en el desarrollo, dejarás tu web caída y no quieres eso.
Antes de empezar con el tutorial sobre como crear un plugin WordPress desde 0, comprueba que tienes todo lo que necesitas:
- Un hosting o un servidor web local en el que instalar un WordPress nuevo.
- Acceso a ese hosting o servidor web local.
- Descarga e instala WordPress en el servidor web.
- Instala un editor de código en tu ordenador. Si no tienes ninguno puedes descargar gratuitamente: NotePad++ o Visual Code Studio.
Cómo crear un plugin en WordPress desde 0
Ahora que tienes claro los conceptos básicos y el entorno de pruebas listo ¡ponte manos a la obra! Te voy a ir explicando paso a paso como tienes que crear un plugin WordPress. Parece complicado pero… si tienes unas nociones básicas de programación te va a resultar muy sencillo (y si no es así voy a intentar que lo sea).
Selección del nombre y creación de la estructura de carpetas y ficheros del plugin
Lo primero que tienes que hacer (aunque parezca una tontería) es seleccionar el nombre que le quieres poner a tu plugin. En mi caso le voy a llamar “raiola”. Si no sabes cual escoger, te sugiero que el nombre del plugin describa en una o dos palabras lo que va a hacer.
Por ejemplo, algunos de los plugins que te muestro a continuación seguro que te suenan:
Todos sus nombres hacen referencia a las funciones que realizan (aunque esto no es obligatorio, es solo una recomendación).
Ahora que sabes cómo llamarlo tienes dos opciones: que tu plugin esté formado por 1 archivo o que esté compuesto por una colección de archivos y carpetas.
Si tu plugin va a ser tan pequeño que solo va a tener un archivo, puedes guardar el fichero PHP directamente en /wp-content/plugins de la siguiente manera:
- Dirígete a la carpeta /wp-content/plugins/
- Crea un archivo con extensión .php
- Guárdalo con el nombre del complemento que has seleccionado nombre-plugin.php
Aunque te pueda parecer “raro”, es muy común que un complemento esté formado solo por un archivo PHP con un comentario de encabezado. Por ejemplo: hello dolly
Si tu plugin va a estar formado por varios archivos, lo mejor es crear una estructura de carpetas siguiendo las buenas prácticas de la documentación de desarrolladores de WordPress (no es obligatorio, pero si aconsejable, sobre todo si trabajas en equipo).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
/nombre–plugin
nombre–plugin.php
uninstall.php
index.php
readme.txt
/languages
/includes
/admin
/js
/css
/images
/public
/js
/css
/images
|
- ‘nombre-plugin.php’: Es el archivo principal del plugin. Contiene una cabecera estándar con los datos mínimos que WordPress necesita para realizar la instalación del plugin. Además, se definen las constantes y se realizan acciones iniciales.
- ‘uninstall.php’: Es el fichero que define los métodos y acciones de limpieza para una correcta desinstalación del plugin.
- ‘index.php’: Es un fichero PHP vacío con el único propósito de ocultar la estructura de carpetas. Si un usuario entra en la ruta de la carpeta del plugin se encontrará una página en blanco. Si se elimina aparecerá la estructura de carpetas.
- ‘readme.txt’: Es un fichero con un formato concreto que se requiere solo si el plugin se va a subir al repositorio oficial de WordPress.
- ‘admin’: Directorio que contiene subdirectorios con los archivos *.php, *.css, *.js, *.html que se encargan del back-end del plugin.
- Directorio ‘languages’: Directorio que contiene los archivos de internacionalización y localización del plugin.
- Directorio ‘includes’: Los archivos *.php auxiliares que “incluyas” desde la sentencia include de PHP a tu complemento.
- Directorio ‘public’: Directorio que contiene subdirectorios con los archivos *.php, *.css, *.js, *.html que se encargan del front-end del plugin.
Evidentemente, debes crear la estructura de carpetas que se ajuste a tus necesidades. En mi ejemplo voy a utilizar la siguiente:
1
2
3
4
5
6
7
8
9
10
|
/raiola
raiola.php
uninstall.php
index.php
/includes
index.php
opciones.php
/admin
index.php
configuracion.php
|
Empieza a crear tu plugin WordPress: Cabecera con la información estándar del plugin
Ahora que tienes los archivos listos es hora de empezar a trabajar con el plugin. Lo primero que debes hacer es añadir los requisitos de encabezado al archivo principal de tu plugin. ¿Porqué? Porque esta información es la que identifica tu fichero como un complemento de WordPress.
En mi caso, el archivo principal es “raiola.php”. Para tí, es el archivo que tiene el nombre principal del plugin. Abre tu editor de código y escribe lo siguiente:
<?php
?>
Son la etiqueta de apertura y cierre de PHP. Entre esas dos etiquetas vas a escribir las primeras líneas de tu plugin WordPress: la información estándar del complemento.
Como se recomienda el la documentación oficial de WordPress, el formato de la cabecera debe ser el siguiente:
1
2
3
4
5
6
7
8
9
|
/*
Plugin Name: [El nombre que has escogido para el nombre de tu plugin]
Plugin URI: [URL del plugin (si la va a tener, si no puedes poner la tuya)]
Description: [Una breve descripcion del plugin]
Version:[La versión del plugin]
Author:[Autor del plugin]
Author URI:[URL del autor del plugin]
License:[El tipo de licencia que le quieras poner. Por ejemplo: GPL]
*/
|
Sustituye los corchetes con los datos correctos. En mi caso se vería algo así:
1
2
3
4
5
6
7
8
9
|
/*
Plugin Name: raiola
Plugin URI: https://raiolanetworks.es
Description: Plugin de ejemplo del post de como crear un plugin en WordPress
Version: 1.0
Author: Angela
Author URI: https://raiolanetworks.es
License: GPL2
*/
|
Guarda el archivo y accede al panel de WordPress de tu entorno de pruebas. Esto y tan solo esto, es lo único que necesita WordPress para reconocer un complemento. Dirígete a la pestaña de ‘plugins’ y verás que puedes activar y desactivar tu plugin. Evidentemente aún no hace nada.