Qué es y cómo se usa el fichero functions.php

funciones functions.php

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?

¿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.

¿Donde 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 fichero functions.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.
  • 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 fichero functions.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 archivo functions.php extraiga el resto de códigos que quieras ejecutar, lo podrás hacer fácilmente mediante comandos PHP como include() o require(), que incluirán o realizarán la conexión necesaria para ejecutar todo sin necesidad de sobrecargar tu archivo functions.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.

AVISO: esta publicación es de hace dos años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

VALORA ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
FlojitoNo está malEstá bienMe ha servidoFantástico (15 votos, promedio: 4,67 de 5)
Cargando…

Autor: Fernando Tellado

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran. Autor del libro WordPress - La tela de la araña. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera.

Comparte esta entrada en
468 ad

Centro de preferencias de privacidad

Cookies imprescindibles

Se usan para saber si ya aceptaste nuestras políticas, si ya estás suscrito a nuestra newsletter, para reconocer el estado de tu sesión si la tuvieses y para servir más rápidos los contenidos.

No se captura IPs ni siquiera para el servicio de Analytics así que tu visita es privada.

JSESSIONID, _cfuid, wpSGCachePypass, mailerlite, gdpr, gawp
mailerlite, _cfuid

Cookies de terceros

Usamos cookies de terceros con servicios, también garantes de tu privacidad, que analizan tus usos de navegación para que podamos mejorar los contenidos, si ya estás suscrito al boletín y los elementos compartidos en redes sociales y el formulario de comentarios.

1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID, disqus_unique, disqusauth
disqus_unique, disqusauth
1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID

Pin It on Pinterest

Share This
Ir al contenido