Lo que debes saber sobre el archivo functions.php de WordPress

En Desarrollo, Webmasters por

El archivo functions.php es uno de los más usados por los desarrolladores de temas para incluir funcionalidades extra. Para explicarlo de forma sencilla, se podría decir que este archivo contiene el código que integra la funcionalidad del núcleo de WordPress, con la funcionalidad de nuestro tema.

Lo que debes saber sobre el archivo functions.php de WordPress

¿Dónde está el archivo functions.php en WordPress?

El archivo functions.php lo podemos encontrar dentro de la carpeta de nuestro tema, en /wp-content/themes/nombre_tema/functions.php.

Los temas no están obligados a tener el archivo functions.php, aunque me atrevería a decir a que prácticamente todos los temas hacen uso de este archivo. Esto se debe a que es en este archivo donde se encuentran los códigos para registrar menús, barras laterales, dar soporte a miniaturas de imágenes, etc.

¿Usar el archivo functions.php o usar un plugin?

Esta es una pregunta que muchos desarrolladores o incluso webmasters se pueden hacer, ya que se puede conseguir prácticamente lo mismo con un plugin que con un archivo functions.php, la principal diferencia está en que el código del archivo functions.php sólo afecta cuando está el tema activo, mientras que un plugin no depende del tema.

Teniendo en cuenta lo anterior, la respuesta a la pregunta inicial sigue sin ser fácil porque hay multitud de opiniones. A mí el sentido común me dice que si se trata de funciones específicas para un tema, el código debe ir en el archivo functions.php, mientras que si se trata de funciones que no dependen del tema usado, la mejor opción es emplear un plugin.

Consideraciones a la hora de usar un archivo functions.php

Hay ciertos casos en los que el archivo functions.php nos puede dar algún problema, por eso debemos considerar las siguientes situaciones:

  • Si el archivo functions.php emplea un mismo filtro o función que ya tenemos en algún plugin activo puede generar errores.
  • Si trabajas con temas hijo en WordPress, debes saber que le archivo functions.php del tema padre se ejecuta antes que el del tema hijo, por lo que no debes repetir las mismas funciones o emplear códigos incompatibles que causen errores.
  • A la hora de modificar el archivo functions.php hazlo con un editor de texto adecuado, ya que la codificación debe ser UTF-8 no BOM (como para todos los archivos php). Recomiendo emplear Sublime Text por su sencillez, para guardar correctamente el archivo php vamos al menú File → Save with encoding → UTF-8 y guardamos.