Añadir fragmentos de código a un proyecto de WordPress es bastante común cuando se desean ajustes específicos. A menudo se eligen métodos como incluirlos en el archivo functions.php de un tema hijo (child theme) o usar un plugin dedicado a fragmentos (por ejemplo, Code Snippets). Sin embargo, existe una alternativa potente y versátil: crear un plugin para código personalizado en WordPress.
A continuación voy a hacer un recorrido por los beneficios de este enfoque y un repaso general sobre cómo hacerlo. La intención es que puedas aprovechar la flexibilidad de WordPress sin depender de tu tema actual ni arriesgar la compatibilidad de tu sitio en futuras actualizaciones.
Pero primero, veamos un par de conceptos indispensables sobre los plugins en WordPress.
Qué es un plugin en WordPress
- Un plugin en WordPress no es más que un archivo o conjunto de archivos PHP que añaden funcionalidades específicas a un sitio sin necesidad de modificar el núcleo de WordPress o el tema activo.
- Básicamente, un plugin actúa como un pequeño programa que se conecta a WordPress mediante funciones y hooks (ganchos), permitiendo extender o modificar su comportamiento estándar.
¿Qué hace que un plugin funcione en WordPress?
- Un plugin funciona porque WordPress está diseñado para ser extendido. WordPress carga todos los plugins activos desde la carpeta wp-content/plugins/.
- Cuando WordPress se ejecuta, busca los archivos PHP de los plugins activos y los incluye. Esos archivos pueden contener funciones, clases o código que se ‘engancha’ al sistema principal de WordPress en puntos específicos llamados ‘hooks’.
- Estos hooks (filtros y acciones) son como señales: cuando WordPress llega a cierto punto del flujo de ejecución, llama a las funciones que le hemos dicho que respondan en esos momentos.
En su forma más simple, un plugin puede ser un único archivo PHP.
¿Por qué un plugin para código personalizado en WordPress?
Muchas veces, ajustar funciones pequeñas requiere abrir el archivo functions.php en un theme o un child theme. Ese método funciona, pero puede volverse incómodo cuando se cambia a otro tema. Además, si el tema se actualiza y se olvida mover el código al tema hijo, se corre el riesgo de perder esas modificaciones.
La posibilidad de independizar todos los pequeños cambios en un plugin para código personalizado ofrece múltiples ventajas:
- Independencia total del tema: No es obligatorio usar el mismo archivo del tema.
- Organización: Se concentra el código en un lugar separado para mantener el proyecto más ordenado.
- Facilidad de mantenimiento: Un plugin propio puede activarse o desactivarse según convenga, sin preocuparse de afectar la plantilla principal.
- Portabilidad: No habrá que copiar y pegar fragmentos de una instalación a otra. Basta con mover o instalar el plugin y listo.
Las funciones que suelen ir en functions.php pueden colocarse allí sin complicar la vida a la hora de cambiar de tema o actualizarlo.
Ventajas de usar un plugin para código personalizado en WordPress
- Estandarización: WordPress reconoce de manera nativa los plugins a través de una cabecera en el archivo principal. Al disponer de un plugin con nombre, descripción y versión, todo el código se alinea con la metodología estándar de WordPress. Eso facilita el control y la documentación de los cambios.
- Comodidad al desactivar funciones: Si algo deja de ser útil, simplemente se desactiva el plugin en el panel de administración. Con un child theme, a veces se borra el código o se deja comentado, lo que puede generar confusión con el tiempo.
- Reutilización en otros proyectos: Imagina que las mismas funciones personalizadas podrían servir para otro sitio. Un plugin que contenga ese código permite llevarlo de un proyecto a otro de manera casi inmediata, sin necesidad de refactorizar o reescribir.
- Mayor claridad en el repositorio: Al clonar un proyecto de WordPress, el plugin aparece en la carpeta plugins, separado del tema. Eso invita a distinguir con facilidad qué parte del código corresponde a funcionalidades propiamente dichas y qué parte pertenece a la plantilla.
- Seguridad básica: Al crear el plugin se incluyen buenas prácticas, como verificar if ( ! defined( ‘ABSPATH’ ) ) { exit; }. Esa condición detiene la ejecución del archivo si se intenta acceder a él directamente sin pasar por WordPress. Además, en caso de necesitar formularios de administración, el uso de nonces y validaciones de capacidades resulta más natural dentro de un plugin.
Cómo crear tu propio plugin para código personalizado en WordPress
Crear un plugin sencillo sólo requiere un archivo .php con una cabecera reconocible por WordPress. En otras palabras, se necesita lo siguiente:
1. Crear una carpeta y un archivo: Dentro de wp-content/plugins/, conviene generar una carpeta con un nombre identificable, por ejemplo funciones-sebasweb. En su interior, crea un archivo funciones-sebasweb.php.
2. Agregar la cabecera del plugin: En el archivo PHP, se añade algo parecido a:
<?php
/**
* Plugin Name: Funciones Sebasweb
* Plugin URI: https://salmon-clam-238724.hostingersite.com
* Description: Aquí se colocan funciones personalizadas para el proyecto
* Version: 1.0
* Author: Sebasweb
* Author URI: https://salmon-clam-238724.hostingersite.com
* License: GPL2
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Evita que se acceda sin pasar por WordPress
}
// A partir de aquí se pueden añadir funciones, hooks y demás código necesario en el proyecto
¡Enhorabuena! Con eso ya creaste un plugin para código personalizado en WordPress capaz de activarse y desactivarse desde el panel de administración.
3. Escribir tus fragmentos de código: Si hay funciones que antes iban en functions.php, pueden copiarse aquí. Por ejemplo, crear un saludo al sitio web cuando ingresas al home:
/** saludar al usuario en cuanto ingrese al sitio web*/
add_action( 'wp_footer', 'mostrar_mensaje_explorador' );
function mostrar_mensaje_explorador() {
echo "
<script type='text/javascript'>
alert('¡Hola, gracias por visitar mi web!');
</script>
";
}
Ese snippet quedará activo mientras el plugin lo esté, independientemente de cuál sea el tema activo.
4. Activar el plugin: Accede al área de administración de WordPress y busca “Plugins” en el menú lateral. En la lista aparecerá la nueva creación. Sólo pulsa “Activar” y quedará listo para usarse.
Suscríbete y aprende gratis
¿Te apasiona el mundo web? Únete a la newsletter y recibe en tu correo un pequeño resumen donde hablo sobre WordPress, diseño y desarrollo web.
Otras alternativas a crear un plugin para código personalizado en WordPress
La idea de manejar código personalizado no siempre demanda la creación de un plugin. Dos métodos frecuentes son, a través del un «tema hijo» o «child theme» y el otro es a través de plugins que nos permiten incluir código personalizado en nuestro sitio web:
Child theme
Un tema hijo (child theme) hereda el funcionamiento de otro tema (llamado tema padre). En su archivo functions.php, se agregan funciones personalizadas. Permite editar y sobreescribir plantillas, sin miedo a perder cambios al actualizar el tema padre. Sin embargo, si la intención es conservar el código al cambiar de tema, este método no es tan práctico. Tampoco brinda la facilidad de desactivación inmediata.
Te comparto dos opciones de cómo crear un child theme en dos de los temas más usados en WordPress:
- Cómo crear un child theme en Hello Elementor aquí
- Cómo crear un child theme en Astra aquí
Code Snippets (plugin)
Esta herramienta funciona como un gestor de fragmentos. En lugar de añadirlos manualmente, se pega el código en el panel, quedando almacenado en la base de datos. Su interfaz resulta cómoda, pero depende de un tercero que mantiene el plugin. Quien prefiera evitar la instalación de otro plugin y busque algo más directo podría inclinase por desarrollar su propia alternativa, usando un plugin para código personalizado en WordPress con un archivo único.
WPCodeBox (plugin)
Incluso, uno que no tiene tantos años como el code snippets, pero que parece que tiene muy buenas opciones, es el WPCodebox otra solución que, al igual que Code Snippets, permite almacenar y sincronizar fragmentos de código en la nube para usarlos en diferentes instalaciones de WordPress. Aunque ambas herramientas coinciden en ese aspecto, WPCodeBox ofrece una interfaz y flujo de trabajo distintos, además de funciones propias de organización y personalización de los snippets.
¿Y ahora qué?
Ya viste las ventajas de mantener un plugin para código personalizado en WordPress y el proceso fundamental para crearlo. Es un método sencillo que te ayudará a ahorrar tiempo y a conservar la estabilidad de tu sitio a largo plazo.n.
Si tienes dudas o ideas que puedan mejorar este método, te invito a dejar un comentario. Compartir experiencias siempre enriquece la conversación y puede ser de gran ayuda para otras personas con las mismas necesidades. Además, si tienes alguna pregunta, sugerencia o simplemente quieres saludar, déjame tu comentario: ¡siempre será un placer leerte!