Es habitual encontrar en Ayuda WordPress multitud de trucos para añadir funciones al archivo functions.php
, incluso hemos hablado de si es mejor usar este fichero o un plugin de utilidades, que también aprendimos a hacerlo, pero ¿qué es el archivo functions.php
y cómo se usa?
Vamos a ver algunos conceptos básicos y consejos de uso ¿te parece?
Índice de contenidos
¿Qué es el fichero functions.php?
Lo más básico es que es un archivo PHP, o sea, un archivo de texto repleto de caracteres y espacios que el motor PHP ejecutará para hacer cosas en tu web. Estos caracteres se denominan funciones y están encerradas entre las etiquetas <?php
y ?>
. La cosa es sencilla: lo que está dentro de esas tags se ejecuta y lo que está fuera no.
Viene a ser el sustituto natural, y mejor estructurado del veterano archivo my-hacks.php, desaparecido en WordPress 2.8, que era donde antiguamente se incluían funcionalidades extra, pero con el agravante de que en cada actualización de WordPress se machacaba el archivo.
¿Dónde está el fichero functions.php?
Prácticamente todos los temas WordPress actuales tienen un archivo functions.php
en la carpeta principal, y si no lo tiene debería tenerlo. Unas veces contiene muchas funciones y en otras ocasiones solo unas pocas.
¿Qué hace el fichero functions.php?
El archivo functions.php
contiene unos códigos PHP denominados funciones, una característica estándar de WordPress que permite que un tema «conecte» con funcionalidades internas de WordPress (registrar barras laterales, añadir soporte de miniaturas, etc) o propias del tema activo, como códigos cortos (shortcodes) especializados.
¿Cómo se comunica WordPress con el fichero functions.php?
WordPress, por defecto, espera encontrar un fichero 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.
De este modo, WordPress «sabe» que las funciones situadas en el fichero functions.php
de tu tema 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. 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, pues a fin de cuentas lo primero que se debe mostrar es el diseño, o sea, el tema.
Consejos de uso del fichero functions.php
A pesar de lo interesante que es disponer un fichero functions.php
en el tema activo, hay algunos consejos a tener en cuenta:
- No te vuelvas loco añadiendo funciones al fichero
functions.php
. Este fichero es genial para incluir en él funciones relacionadas con el diseño, con elementos visuales, para el resto de cosas es mejor un plugin de utilidades. Hay mucha gente que usa el ficherofunctions.php
para meter en él todas las funciones chulas que encuentra en Ayuda WordPress o cualquier otra web, y no, no es un cajón de sastre, cada función que incluyas debe tener un sentido y objetivo, y si no la usas bórrala. - Añade los nuevos códigos siempre al final, para evitar romper funciones propias del tema.
- Añade antes del código una línea comentando lo que hace (Ej.:
//Este código cambia el tamaño de los extractos
). Te ayudará a recordar lo que hace cada código por si algún día tienes que modificarlo o quitarlo. - El fichero
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 lo que lograrías unos feos errores PHP de funciones duplicadas o algo mucho peor, así que revisa qué pones en el ficherofunctions.php
del tema hijo y del padre. - Procura que no crezca mucho, da igual que necesites muchas funciones. Si ves que tu fichero
functions.php
empieza a rozar las 200 líneas considera seriamente crear ficheros dependientes de los que tu archivofunctions.php
extraiga 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
.
Como verás, el archivo functions.php
es de una gran utilidad, y usado con mesura ampliará y mejorará la funcionalidad de tu web, así que aprende a usarlo, trátalo con cariño y añádele funciones útiles.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Buenas me encanta tu blog es idealpara empezar. Pero yo soy muy novata y no sé como rellenar correctamente el fichero functios. Ya que siempre que lo subo a mi página web esta se rompe y me sale el error 500. ¿Qué puede ser? ¿En qué puedo fallar? Gracias de antemano.
Eso será porque metes mal los códigos, suele pasar si lo haces mal
Hola
antes que nada, enhorabuena por el blog
Estoy siguiendo diferentes consejos para optimizar wordpress y aquí me surge una duda. Cuando dices
«Si ves que tu fichero functions.php empieza a rozar las 200 líneas considera seriamente crear ficheros dependientes»
En la web que quiero optimizar uso Divi y el fichero functions.php supera con creces las 200 líneas, entiendo que debido a todas la funcionalidades que ofrece Divi.
Si tengo que crear ficheros dependientes ¿qué ventaja tiene usar Divi?
Gracias 😀
Hola!!! gracias por tus publicaciones…me pasa que uso Divi y el fichero functions tiene cerca de 9000 líneas!! la web está muy lenta y creo que esta es una de las razones… cómo puedo hacer ficheros independientes? No soy programadora…solo autodidacta.
Agradecería mucho si tienes algún post sobre esto.
Saludos desde Chile!!