Tabla de contenido
Como esta página está montada utilizando Wordpress y como voy probando cosas en ella, creo que es buena idea abrir una sección dedicada únicamente a este CMS. Cuando se busca algún truco por internet es habitual encontrar en multitud de trucos para añadir funciones al archivo functions.php
. En algunos casos algunos han escrito que quizás es mejor crear un plugin para añadir las funciones que se necesiten sin necesidad de sobrecargar este archivo. Pero como eso ya lo explicaré en otro momento, vamos a empezar por intentar explicar un poco ¿qué es el archivo functions.php
y para qué se usa?
¿Qué es el archivo functions?
Lo más básico que se puede decir de este es que es un archivo PHP. Vamos que es un archivo de texto repleto de caracteres y espacios para que el motor PHP lo ejecute y así hacer cosas en tu web. Estos caracteres se denominan funciones y están encerradas entre las etiquetas <?php
y ?>
. Si no tienes unos mínimos conocimientos de PHP quizás sería mejor que leyeses un poco antes.
Por lo que tengo leído, el archivo functions.php viene a ser el sustituto natural, y mejor estructurado del veterano archivo my-hacks.php, desaparecido en WordPress 2.8. En este era donde antiguamente se incluían funcionalidades extra. El problema era que en cada actualización de WordPress se machacaba el archivo y pedíamos los cambios.
¿Donde está el fichero functions.php?
Prácticamente todos los temas WordPress actuales tienen un archivo functions.php
en la carpeta principal. Si no lo tiene debería tenerlo, por lo que si no lo encuentras te animo a que lo busques, por que estar, debería estar. Unas veces contiene muchas funciones y en otras ocasiones solo unas pocas, eso ya depende del theme.
¿Cómo se comunica WordPress con el fichero functions.php?
WordPress, por defecto espera encontrar un archivo functions.php
en la carpeta del tema activo. No pasa nada si no lo encuentra, pero WordPress revisa a ver si existe e interactúa con él, ejecutando las funciones que encuentre dentro de este.
De este modo, WordPress “sabe” que las funciones situadas en el archivo functions.php
de tu tema. Estas deben ejecutarse y usará el motor PHP instalado en el servidor y las funciones estándar propias de WordPress para interpretarlas y ejecutarlas. Parece complicado pero es simple, se basa en las propias funciones y en otras piezas de código denominadas “ganchos” (hooks).
¿Es necesario un fichero functions.php?
Imprescindible no es pero sí muy recomendable para facilitarnos la vida a nosotros y a nuestro gestor de contenidos. Puedes incluir en él funciones necesarias para que el tema funcione correctamente. Y como es lo primero que revisa WordPress se cargarán de inmediato, antes que códigos de los plugins. A fin de cuentas lo primero que se debe mostrar es el diseño, o sea, el tema. Una cosa a tener en cuenta es que deberíamos asegurarnos que las funciones que incluyamos dentro del archivo funtions.php funcionen correctamente, pues si no podemos encontrarnos con algunos errores.
Consejos de uso del archivo functions
A pesar de lo interesante que es disponer un archivo functions.php
en el tema activo, hay algunos consejos a tener en cuenta:
- No te vuelvas loco añadiendo funciones al archivo
functions.php
. Este fichero es genial para incluir en él funciones relacionadas con el diseño y con elementos visuales. Para el resto de cosas es mejor un plugin de funciones, que quizás explique en futuros posts. A día de hoy lo tengo funcionando en esta web y funciona bastante bien. Hay mucha gente que usa el archivofunctions.php
para meter en él todas las funciones chulas que encuentra. Y no, no es un cajón desastre. Cada función que incluyas debe tener un sentido y objetivo, y si no la usas bórralas. Que acumular basura nunca ha sido muy sano. - El archivo
functions.php
de un tema hijo no se superpone al del tema padre. Al contrario que el resto de archivos que crees en el tema hijo. Si que se ejecutará antes que el del tema padre, lo que supondrá un problema si hay funciones iguales o incompatibles. Con esto lograrías unos feos errores PHP de funciones duplicadas o algo mucho peor. Así que revisa qué pones en el archivofunctions.php
del tema hijo y del padre. - Procura que no crezca mucho, da igual que necesites muchas funciones. Si ves que tu archivo
functions.php
empieza a rozar las 200 líneas considera seriamente crear ficheros dependientes de los que tu archivofunctions.php.
Extrae el resto de códigos que quieras ejecutar, lo podrás hacer fácilmente mediante comandos PHP comoinclude()
orequire()
, que incluirán o realizarán la conexión necesaria para ejecutar todo sin necesidad de sobrecargar tu archivofunctions.php
.
Para terminar, solo queda decir que el archivo functions.php
es de gran utilidad. Usado con mesura ampliará y mejorará la funcionalidad de tu web. Hay que tener un poco de paciencia para aprender a utilizarlo correctamente, tratarlo con cariño y añadirle funciones útiles para facilitarnos la vida.
1 Comentario
Comentando para ver como va quedando esto …