Crear plugin cuando functions.php se hace demasiado grande


El functions.php es un archivo donde se pueden añadir características específicas para tu proyecto WordPress.

No obstante, este archivo puede crecer indefinidamente y es posible que haya funciones que luego quieras mantener si cambias de tema o que pretendas exportar a otros proyectos.

Además, aunque se pongan comentarios para aclarar lo que realiza cada función, puede llegar a convertirse en un archivo tremendamente difícil de leer y relativamente complejo para habilitar o deshabilitar funciones específicas.

Para estas situaciones lo ideal es hacer un plugin, que puede tener un único propósito. O un plugin a modo de functions.php con distintos propósitos.

Cómo crear un plugin de forma sencilla

Para trabajarlo de una forma cómoda, tendremos que utilizar un editor de texto de nuestra elección, como por ejemplo puede ser vscode.

Entonces dentro de esa carpeta, debemos crear un archivo con el nombre que queramos y la extensión .php. Es decir, sería un archivo como {nombre-que-elijas}.php

Para que el plugin funcione, debe tener una serie de comentarios en php. Podemos poner los básicos:

<?php
/*
Plugin Name: {Nombre que quieras}
Description: {Descripción del plugin}
Author: {Nombre del autor}
Version: {número de versión}
*/

Y se vería así:

Cuando tengamos nuestro plugin, podemos subirlo de una forma directa, como SSH o FTP, o comprimir toda la carpeta en un .zip y subirlo desde el back-end de WordPress en Plugin.

Todo el código que hayamos escrito debajo de los comentarios del plugin, funcionarán como funciona el functions.php. Con la salvaguarda de que además podemos desactivarlo fácilmente si lo necesitamos.

Hacer el plugin más eficiente

Hasta aquí, lo único que habríamos hecho sería cambiar el código del functions.php de sitio. Para que realmente sea más útil, lo que podemos hacer es valernos del código “include” dentro de php.

Lo que hace el código include es incluir todo el código que esté en otro archivo. De esta forma podemos tener archivos para funciones muy específicas de nuestra web por separado, y tenerlo todo aislado en distintos módulos, para detectar los problemas de una forma más sencilla.

Por ejemplo, podríamos tener un archivo para la generación de shortcodes, otro para hooks, otros para hacer cambios en gutenberg o tinymc, otro para cambiar el heartbeat… y bueno ya se entiende, para añadir cualquier funcionalidad oculta de WordPress.

Para esto, lo que podemos hacer es que dentro de la carpeta del plugin, podemos crear otra carpeta, que se llame por ejemplo includes (para simplificar). Y entonces vamos creando nombres de archivos.php intuitivos para gestionar fácilmente nuestro proyecto.

Una vez hemos creado el archivo.php dentro de la carpeta includes, este no funcionará por arte de magia. Entonces tendríamos que poner el código include de esta forma:

// Recomiendo siempre poner un comentario arriba aclarando qué hace dicho archivo
include 'includes/nombre-ejemplo.php';

Entonces el plugin se vería así:

Con esta sencilla implementación, tendremos una forma más sencilla de coordinar distintos proyectos a nuestro gusto con configuraciones similares de “funtions.php”.

Por otro lado, nuestro código será mucho más sencillo y legible. Lo cual hará que sea mucho más sencillo de ampliar, mejorar o modificar en cualquier futuro.

Deja una respuesta