Cuando queremos agregar funciones personalizadas a nuestro proyecto de WordPress, ya sea creadas por nosotros o que hayamos visto en otros sitios web, tenemos que incorporarlas normalmente al archivo functions.php de nuestro tema activo.

El problema es, que si estamos usando un tema de terceros y este se actualiza, también será actualizado el archivo functions.php y perderemos todas las funciones que hayamos añadido manualmente.

Para evitar esto también tenemos la opción de usar un tema hijo o child-theme.

Pero si ya estamos usando un tema hijo que también es de terceros (por ejemplo los temas de StudioPress son temas hijos instalados sobre Genesis Framework que es el tema padre), y no queremos perder los cambios en el functions.php si este se actualiza, podemos optar por crear nuestro propio plugin de funciones.

Esto consiste básicamente en crear un archivo dentro del directorio de plugins de nuestro proyecto, que va a actuar como un archivo de funciones independiente del tema de WordPress, pero que todas las funciones que incorporemos a él funcionarán de igual modo.

Para hacerlo, solamente tenemos que irnos al directorio de plugins de WordPress y crear un nuevo directorio al que llamaremos por ejemplo «mi-plugin».

Ahora dentro del nuevo directorio creamos un archivo .php llamado por ejemplo «mi-plugin.php»:

Lo editamos con nuestro editor de código favorito y vamos añadir algunas líneas comentadas que serán usadas por WordPress para reconocer detalles del nuevo plugin:

 <?php
/*
Plugin Name: Mi plugin de funciones
Description: Funciones adicionales para mi proyecto WordPress (no desactivar).
Version: 1.0
Author: Gestionatuweb.net
Author URI: https://www.gestionatuweb.net
*/
?>

Creo que no hace falta explicar las líneas pues son muy intuitivas. En el momento que guardemos los cambios, si nos dirigimos a la sección de plugins de WordPress, veremos que este ha sido detectado y reconocido por las líneas anteriores que hemos especificado:

Ahora solo tenemos que activarlo y mantenerlo activado para que todo lo que incorporemos a él funcione.

Ya no tenemos que preocuparnos de que nuestro tema se actualice y perdamos cualquier función que hayamos especificado en el functions.php, porque estarán a salvo en nuestro propio plugin de funciones.

Espero que os haya resultado de interés y nos vemos en el siguiente post! 🙂