Crear un plugin de WordPress en 1 minuto

Crear un plugin en WP es muy sencillo y apenas requiere configuración. En tan solo un minuto podemos tenerlo listo. Otro tema es la funcionalidad que queramos implementar, ahí es donde está la complejidad.

Como ejemplo vamos a crear un plugin muy simple. Este va a consistir en concatenar automáticamente el año actual entre corchetes a la meta etiqueta title de los posts, quedando algo así: El título de mi post [2020]

Crear directorio del plugin

Lo primero que tenemos que hacer es crear directorio donde se va a alojar el código del plugin. Por tanto, dentro de la ruta /wp-content/plugins/ del servidor creamos la carpeta devseo-title-year.

Podemos escoger el nombre que queramos, aunque lo lógico es poner el nombre del plugin (separando espacio por guión medio).

Crear la funcionalidad del plugin

Para crear un plugin al menos necesitamos un archivo PHP. Vamos a crearlo.

Dentro de la carpeta creada en el paso anterior, añadimos un nuevo archivo vacío con la extensión .php. Le damos el mismo nombre que la capeta, en nuestro ejemplo será: devseo-title-year.php.

A continuación añadiremos al archivo un comentario de PHP con un formato específico. Esto es lo que hace que WordPress reconozca el archivo como un plugin y muestre los datos asociados.

<?php
/*
Plugin Name: DevSEO Title Year
Plugin URI: https://url-del-plugin.com
Description: Concatena el año actual al 'title' de los posts -> Post title [XXXX]
Version: 1.0
Author: DevSEO
Author URI: https://devseo.xyz/
License: GPL
License URI: https://www.gnu.org/
*/

Modifica los datos anteriores por los tuyos. Los importantes son:

  • Plugin Name: nombre del plugin que aparecerá en el panel de WordPress
  • Description: breve descripción de lo que hace el plugin. También se muestra en el panel de WordPress.
👉  Validar un email en Excel

Una vez definidos estos datos ya nos aparecerá el plugin en el panel de WordPress. Ahora solo tenemos que activarlo.

Pues ya hemos creado un plugin en WordPress. Fácil, ¿verdad?

Pero el plugin no hace nada, ahora toca añadir la funcionalidad. Para nuestro ejemplo hemos dicho que el plugin concatenará el año actual a la etiqueta title de los posts.

Este es el código que implementa la funcionalidad. Lo copiamos en el archivo devseo-title-year.php.

function devseo_append_year_to_title($title)
{
    return $title . ' [' . date('Y') . ']';
}
add_filter('pre_get_document_title', 'devseo_append_year_to_title', 99);

Securizar el plugin

Al crear un plugin tenemos que tener en cuenta que podemos abrir una brecha de seguridad ya que el plugin tiene acceso a la base de datos.

Vamos a realizar dos simples acciones que agregarán seguridad a nuestro plugin.

En primer lugar, en el directorio del plugin creamos un archivo PHP con el nombre index.php y el siguiente contenido:

<?php
// Silence is golden.

Este archivo sin código da un primer nivel de seguridad a nuestro plugin. Si alguien intenta acceder desde el navegador a los archivos de nuestro plugin se ejecutará por defecto el index.php y no hará nada.

Si te fijas, en todos los directorios de WordPress existe este archivo.

Por otro lado, vamos a evitar que un atacante pudiera ejecutar la funcionalidad del plugin desde fuera de WordPress. Para ello añadimos este código después de la cabecera del plugin.

defined('ABSPATH') or die;

Empaquetar el plugin

El proceso de creación del plugin lo hemos realizado directamente sobre los archivos del servidor a través de un cliente FTP como Filezilla.

Si no quieres o no puedes trabajar directamente contra el servidor puedes crear el plugin en local y subirlo a la web través del panel de WordPress.

👉  Regenerar miniaturas de WordPress con WP-CLI

Para ello necesitarás empaquetar como .zip la carpeta del plugin. ¡Ojo! no vale en formato .rar.

Aquí te dejo el plugin comprimido en .zip por si quieres trastear con él. Puedes instalarlo, descomprimirlo para ver los archivos, modificarlo… lo que se te ocurra.

Conclusiones

Aunque no seas desarrollador, hay muchas ocasiones en las que deberías crear tus propios plugins. Por ejemplo, seguramente que en alguna ocasión has tenido que insertar algún código PHP en tu web y lo más probable es que lo hayas añadido al archivo functions.php. Pues he de decirte que este no es el mejor sitio para ello, ya que está vinculado a la plantilla y lo perderás al cambiarla o actualizarla (si no tienes un tema hijo).

Un buen sitio para colocar este código sería crear un plugin básico como el que hemos hecho en este tutorial.

Puedes dejar un comentario si tienes alguna duda.

👇Tu comentario