Uno de los factores que ha hecho que WordPress sea el CMS más usado hoy en día es la posibilidad de expandir sus funcionalidades y crear todo tipo de sitios, desde blogs hasta sitios corporativos complejos.
La clave de esta potencialidad son los plugins, un concepto que se refiere a fragmentos de código con funciones que se pueden acoplar al core o núcleo principal de WordPress para crear nuevas funciones o mejorar las ya existentes.
Justificación y uso de los plugins
Unas de las buenas prácticas al desarrollar sobre WordPress es no tocar el núcleo, la razón es que este se actualiza frecuentemente, sobreescribiendo los archivos existentes con las nuevas versiones, con lo cuál cualquier cambios personalizado lo perderíamos irremediablemente .
Hay miles de funciones que puedes añadir a tu plugin para cambiar el comportamiento de tu sitio Web, muchas de las cuales ya existen en el repositorio oficial, sin embargo la mayoría de los plugins escritos por terceros generalmente incluyen más funciones de las que necesitas, de modo que al instalar esas soluciones, en la mayoría de casos, estarás recargando tu sitio con procesos adicionales que no estarías utilizando.
Lo ideal sería que tu escribieras, en la medida de lo posible, tus propias funciones para controlar al máximo los recursos utilizados por tu sitio Web.
Te enumero algunas de las personalizaciones comunes y que puedes realizar tu mismo de manera relativamente fácil:
- Añadir un tipo de contenido personalizado (CTP, Custom Post Type).
- Añadir taxonomías personalizas a tus CTP (Custom Taxonomies).
- Añadir campos personalizados a tus contenidos (Custom Fields).
- Cambiar el diseño de la página de inicio y del Escritorio (Dashboard).
- Crear metaboxes, sidebars, menúes y shortcodes personalizados.
- Ocultar o desactivar menús y metaboxes del Escritorio
- Redireccionar a usuarios según el rol y la acción concreta que estén realizando.
- …y miles de cosas más.
Escribiendo nuestro primer plugin
Lo primero que debes hacer es dirigirte a la carpeta wp-content > plugins y dentro crear un archivo nuevo con la extensión .php y el nombre que más te guste, yo he creado un archivo de ejemplo llamado funciones_personalizadas.php
Ahora tienes que editar ese archivo, preferiblemente con un editor de código (te recomiendo usar Visual Studio Code), y añadir al menos el único metadato obligatorio: el nombre del plugin. Este metadato lo utiliza WordPress para reconocer el archivo como un plugin y se escriben comentados con la sintaxis de PHP. De modo que si escribes este contenido en tu archivo:
<?php /** * Plugin Name: Mis funciones personalizadas */
Verás esto en Escritorio > Plugins:
Añadiendo metadatos al plugin
Sin embargo podemos añadir más información a nuestro plugin:
<?php /** * Plugin Name: Mis funciones personalizadas * Plugin URI: https://yordansoar.es/como-crear-un-plugin-personalizado-en-wordpress/ * Description: Plugin para escribir las funciones personalizadas de mi sitio * Version: 1.0 * Author: Yordan Soares * Author URI: https://yordansoar.es/ * License: GPL2 * License URI: https://www.gnu.org/licenses/gpl-2.0.html * Text Domain: funciones-personalizadas * Domain Path: /languages */
Por defecto, WordPress permite añadir once (11) metadatos a nuestros plugins. Si te estás preguntando qué hace cada metadato, te lo explico a continuación:
- Plugin Name: El nombre del plugin. Si piensas subir tu plugin al repositorio, es el nombre que verás en los resultados de búsqueda.
- Plugin URI: La URL del plugin. Especialmente útil si el plugin tiene un sitio Web donde conseguir la documentación o la versión premium, en caso de existir. Puede ser un subdirectorio de tu Web. Ej.: https://yordansoar.es/como-crear-un-plugin-personalizado-en-wordpress/
- Description: Una definición corta de lo que hace el plugin. Esta descripción debe tener menos de 140 caracteres.
- Version: La versión del plugin. Se utiliza para comparar con el repositorio de WordPress o una API privada, en ediciones premium, si la versión instalada es la más nueva.
- Author: El autor del plugin. Si lo haces en conjunto con otros desarrolladores, debes separar los nombres usando comas (,).
- Author URI: El sitio Web del autor, puedes usar tu sitio Web, tu perfil en alguna red o tu URL de WordPress.org
- License: El tipo de licencia que aplicararás a tu plugin si piensas distribuirlo. WordPress usa la licencia GPLv2 o posterior y se recomienda hacer uso de la misma licencia si piensas subirlo al repositorio.
- License URI: Un enlace al texto completo de la licencia.
- Text Domain: El texto de dominio de gettext del plugin. Este texto se utiliza para relacionar los archivos de traducción con las líneas preparadas para tal fin. WordPress utiliza esta tecnología para preparar strings o líneas de texto que puedan ser traducibles. En el futuro escribiré un artículo explicando su funcionamiento.
- Domain Path: La carpeta donde WordPress buscará los archivos de traducción.
- Network: Este es un parámetro que solo se establece cuando el sitio es de tipo multisitio, un tema un poco avanzado y del que no te tienes que preocupar si no es tu caso. Solo se debe escribir en ese contexto.
Si copiaste los datos del código anterior y los pegaste a tu plugin, la información del plugin que aparece en Escritorio > Plugins debería actualizarse mostrando lo siguiente:
¡Eso es todo! Ahora mismo solo tienes un plugin vacío, pero ya está preparado para que comiences a escribir tus funciones personalizadas. Pronto escribiré artículos enseñándote cómo modificar tu sitio Web para ajustarlo a tu manera. Mientras lo hago, dime ¿qué te gustaría modificar de tu sitio Web?