Explicación del archivo WordPress Functions.php: la guía esencial

Publicado: 2020-11-18

El archivo functions.php de WordPress es uno de los archivos operativos más importantes de WordPress. Como mínimo, existen dos archivos functions.php para cada sitio web de WordPress: el archivo de funciones en el núcleo de WordPress y un archivo de funciones adicional en su tema de WordPress. Además, un tema hijo también tendrá un archivo functions.php.

En esta guía, cubriremos qué es el archivo functions.php, dónde se encuentra el archivo functions.php de WordPress, cómo editarlo y más. También ofreceremos una introducción a las funciones de WordPress. Vamos a sumergirnos.

En esta guía

    Si está leyendo este artículo, lo más probable es que haya puesto en marcha su instalación básica de WordPress o que ya tenga un sitio web de WordPress. Todo parece estar funcionando bien, y luego quieres hacer lo que parece que debería ser el clic de un botón. Luego, encuentra un tutorial en línea y resulta que necesita editar directamente el archivo de funciones de WordPress o el archivo functions.php.

    O tal vez está creando su primer tema de WordPress y tiene preguntas sobre cómo se debe editar el archivo de funciones y las mejores prácticas para el desarrollo de temas de WordPress. Al final de este artículo, debería comprender mejor cómo funciona el archivo functions.php de WordPress y cómo utilizarlo mejor.

    ¿Qué es el archivo Functions.php en WordPress?

    El archivo functions.php de WordPress es un poderoso archivo operativo que alberga importantes funciones de PHP que hacen que un sitio web de WordPress sea funcional.

    Hay dos ubicaciones principales de un archivo de funciones dentro de WordPress:

    • El archivo functions.php ubicado dentro del directorio principal de su sitio web que viene empaquetado con los archivos centrales de WordPress
    • Los archivos functions.php ubicados en su tema de WordPress y / o tema hijo de WordPress. Cada tema de WordPress que ha instalado tiene su propio archivo llamado functions.php en su raíz dentro de su instalación de WordPress.

    Muy similar a cómo funcionan los complementos de WordPress, el archivo functions.php simplemente existe para permitir a los usuarios ingresar código PHP personalizado para ejecutar en las páginas. Esto se puede usar para innumerables cosas, desde funciones básicas agregadas como cálculos del lado del servidor, hasta elementos más complejos, como programas completos escritos en PHP para que los usuarios aprovechen.

    Nota: Hay un archivo "functions.php" en cada tema que tiene. Si bien es bastante fácil cambiar el tema de su blog con un clic a través de WordPress, tenga en cuenta que esto alterará el archivo functions.php.

    Archivo functions.php de WordPress

    Si eres alguien a quien le gusta experimentar con varios temas, ten en cuenta que necesitarás migrar manualmente cualquier cambio de functions.php que hayas realizado. Además, es posible que algunos temas no admitan versiones más recientes de PHP si no se han mantenido activamente, lo que hace que algunas de sus funciones anteriores sean inútiles.

    Es por eso que incluso después de que decida modificar su tema, es importante realizar formalmente un control de calidad o simplemente probar todo en su sitio. No tome el mensaje de WordPress de que la transición de su tema fue exitosa en el sentido de que todas sus funciones se transfirieron. Esto debe verificarse manualmente.

    ¿Dónde se encuentra el archivo de funciones de WordPress?

    Cada tema tiene su propio archivo functions.php, que puede ser una bendición o una maldición dependiendo de la frecuencia con la que le guste cambiar los temas y la funcionalidad de su (s) sitio (s).

    Sin embargo, hay un segundo archivo de funciones “generales” que aún no hemos discutido. Echemos un vistazo a las ubicaciones de cada uno de estos archivos y cuáles son exactamente las diferencias entre los dos archivos.

    El archivo WordPress Core Functions.php

    Como sugiere el nombre, el archivo principal de WordPress funtions.php es el archivo de funciones del "jefe principal". Este archivo de funciones viene incluido con el software central de WordPress que proporciona el código fundamental de un sitio web de WordPress.

    Dentro del directorio raíz de su sitio web de WordPress, encontrará este archivo de funciones ubicado con la carpeta o directorio wp-includes . Una vez dentro de la carpeta wp-includes , encontrará el archivo llamado functions.php . Examine , pero no cambie, el contenido de este archivo. Más adelante, debería notar que la estructura es un poco diferente a la de un archivo de funciones de un tema.

    Archivo de funciones principales de WordPress

    Nota: Al igual que con todos los archivos centrales de WordPress, es aconsejable no editar el archivo functions.php de WordPress contenido en el directorio raíz de su sitio web, independientemente de lo molesto que sea transferir funciones de un tema a otro. Este archivo de funciones está destinado a los creadores de WordPress para almacenar funciones de misión crítica y para desarrolladores avanzados de WordPress.

    ¿Por qué? Hay algunas buenas razones para no editar nunca los archivos centrales de WordPress:

    • Cada vez que se lanza una nueva versión de WordPress, la actualización sobrescribirá las personalizaciones o los cambios que haya realizado en los archivos principales de WordPress. Ejecutar la última versión de WordPress siempre es una buena idea por razones de seguridad, por lo que no desea que las personalizaciones de archivos le impidan ejecutar la última versión de WordPress.
    • Un espacio en el lugar equivocado o un punto y coma adicional pueden romper completamente su sitio web de WordPress. A menos que tenga un conocimiento profundo del desarrollo avanzado de WordPress, los archivos centrales de WordPress deben permanecer sin cambios.

    ¿Dónde está el archivo de funciones dentro de mi tema de WordPress?

    Ahora, echemos un vistazo a su archivo functions.php específico del tema. A diferencia del archivo principal functions.php , este archivo debe ser editado por usted, el desarrollador / webmaster. Estos archivos están estructurados y se accede a ellos de tal manera que, por lo general, un error no afectará al sitio y será mucho más fácil de depurar que un error en el archivo de nivel central.

    Para ello, deberá acceder a la carpeta wp-content contiene sus temas de WordPress. Seleccione la carpeta principal del tema que más le interese en agregar funcionalidad.

    Archivo functions.php del tema de WordPress

    Dentro de la carpeta raíz de su tema, debería ver un archivo functions.php . Abra este archivo, pero no cambie el contenido todavía. Eche un vistazo a este archivo y observe que tiene menos contenido que el archivo de funciones principales.

    Ejemplo de archivo WordPress Functions.php

    Para darle la mejor idea de cómo se ve un archivo functions.php adecuado de WordPress, le proporcionamos esta plantilla "minimalista". Esencialmente, esto tiene el código mínimo requerido por WordPress para funcionar. Sin embargo, no verá que haga demasiado, ¡porque las funciones aún no se han completado!

    El archivo de funciones de WordPress tiene funciones "obligatorias" que se discutirán un poco más adelante en el artículo. Sin más preámbulos, aquí está nuestro pequeño archivo functions.php (basado en temas). Esto está adaptado del ejemplo oficial de funciones del tema de WordPress con algunos elementos secundarios eliminados para mayor claridad:

     if (! isset ($ content_width))
    $ content_width = 1000; / * el tipo de valor predeterminado para esto está en píxeles * /

    if (! function_exists ('myfirsttheme_setup')):
    / **
    * Esta función es necesaria para registrar todo más adelante en el archivo en este
    * functions.php del tema.
    * /
    function myfirsttheme_setup () {

    / **
    * Agregue soporte para imágenes en su tema / sitio
    * /
    add_theme_support ('post-miniaturas');


    / **
    * Habilite el soporte para todas las cosas principales de WP
    * /
    add_theme_support ('post-formatos', array ('aparte', 'galería', 'cita', 'imagen', 'video'));
    }
    terminara si;
    add_action ('after_setup_theme', 'myfirsttheme_setup');

    ¡Y ahí lo tienes! Recuerde que la mayoría de los temas vendrán con un archivo de funciones más completo al que puede agregar más código. Recomendamos consultar siempre el manual del desarrollador de WordPress cuando desarrolle este archivo.

    Nota: Antes de editar el archivo functions.php de su tema, es imperativo que haga una copia de seguridad de su sitio web actual para asegurarse de no perder ningún dato ni el trabajo duro que haya realizado. Una forma de hacer esto sin el dolor y la angustia es usar un simple complemento de respaldo de WordPress como BackupBuddy.

    Seguridad de archivos WordPress Functions.php

    Advertencia: el archivo Functions.php menudo es el objetivo de los piratas informáticos, especialmente si tiene un código personalizado que se vincula directamente a su base de datos de WordPress (que, por razones de seguridad, no debería).

    Antes de modificar cualquiera de estos archivos en su servidor de producción, asegúrese de que está utilizando un complemento de seguridad de WordPress decente como iThemes Security Pro para asegurarse de que sus datos estén seguros.

    Un complemento como iThemes Security Pro puede agregar detección de cambios de archivos a su sitio web. La función de Detección de cambios de archivos en iThemes Security Pro escaneará los archivos de su sitio web y le avisará cuando ocurran cambios en su sitio web, incluyendo:

    1. Agregar archivos : el software malicioso en forma de software espía podría agregar un archivo malicioso que registrará las pulsaciones de teclas de sus clientes a medida que ingresan la información de su tarjeta de crédito.
    2. Eliminar archivos : algunos programas maliciosos eliminarán un archivo legítimo y lo reemplazarán con un archivo malicioso del mismo nombre.
    3. Modificar archivos : el malware intentará ocultar su código malicioso ocultándolo en un archivo existente que modifica.
    Obtenga el contenido adicional: una guía para la seguridad de WordPress
    Descarga el PDF

    ¿Cómo llego al archivo Functions.php en WordPress?

    Para acceder a sus archivos de funciones, necesitará algunos datos básicos para realizar este proceso:

    • Sus credenciales sFTP (solo su anfitrión puede proporcionarlas y probablemente las envíe en un correo electrónico inicial)
    • Un cliente SFTP de su elección
    • La (s) ubicación (es) de los archivos a los que le gustaría acceder

    Una vez que tenga acceso a un cliente sFTP y haya iniciado sesión en su servidor con sus credenciales, puede navegar, ver y editar los archivos de su sitio de WordPress (siempre que tenga los permisos de usuario adecuados).

    Consulte nuestra discusión anterior sobre los archivos de funciones "principales" y basados ​​en temas.

    Explicación de las funciones del tema de WordPress

    Entonces, ahora que ha probado lo que podría hacer con las funciones del tema de WordPress, está interesado en cómo funcionan algunas de estas funciones.

    Si bien debe acceder a la guía de desarrollo oficial de WordPress para ver una lista completa y actualizada de las funciones que puede usar, aquí hay una lista conveniente de funciones de tema útiles y lo que hace cada una.

    themename_setup() - En esta función, simplemente reemplace "themename" con el nombre de su tema. Este contiene el código para configurar su tema.

    register_nav_menus() - En esta función, simplemente configuramos menús de navegación personalizados. Casi todos los temas reales (no teóricos) se aprovechan de esto. De lo contrario, ¡el menú de todos los sitios de WordPress se vería exactamente igual!

    load_theme_textdomain() : esta es la función que permite la localización. Una panacea para el SEO local para sitios de WordPress que tienen un amplio alcance, ya sea a nivel nacional o mundial, esto permite la optimización del lenguaje y el SEO para regiones y áreas locales.

    add_theme_support() : probablemente la función más simple del grupo, esta solo le dice a su tema que cargue módulos que admitan varios tipos de medios. Todos están integrados, por lo que no es una molestia en absoluto. Con esta función se incorporan muchas cosas diferentes, desde fuentes RSS hasta soporte de video.

    ¡Y ahí tienes las principales funciones de tu tema de WordPress! Sin embargo, estamos lejos de terminar de examinar las funciones que podemos utilizar en WordPress. A continuación, echaremos un vistazo a las principales funciones de WordPress que podemos utilizar y que provienen del núcleo de WordPress, como comentamos anteriormente.

    Lista de las cinco principales funciones de WordPress principales

    Continuando, aquí hay algunas de las principales funciones principales de WordPress que al menos debe conocer; sin embargo, incluso la mayoría de los desarrolladores de WordPress deben consultar el Manual de temas de WordPress oficial antes de usar cada uno, principalmente debido a la complejidad de los parámetros de cada función.

    Antes de comenzar, siéntase libre de ver todas las funciones públicas disponibles para usar aquí en la referencia del código de WordPress.

    1. activate_plugins() : esta función se complementa con la función activar_plugin activate_plugin() . Tal como sugiere su nombre, es un atajo para activar cualquier complemento instalado.
    2. add_menu_page() : esta función le permite agregar de manera muy fácil y sencilla una página al menú principal de su tema o sitio. Muchos usuarios novatos intentan hacer esto usando HTML y CSS sin procesar. Desafortunadamente, ese enfoque puede estropear todo un tema; Siempre es mejor aprovechar funciones como esta que están hechas solo para ese propósito que tratar de "hackearlo" usted mismo.
    3. bloginfo() : los desarrolladores de PHP pueden notar que se parece mucho a una función imprescindible dentro del propio PHP llamada “phpinfo ()”. Esto está destinado a imitar esa función, proporcionando información crucial impresa en una página para uso de desarrollo sobre su versión de WordPress, tipo de servidor y más. Esto es genial si necesita obtener rápidamente información específica.
    4. current_user_can() : esta función es un "booleano", lo que significa que devolverá un valor "verdadero" o un valor "falso". Esto es excelente para la depuración y se puede llamar para ver si puede utilizar una función específica o no. Usando la función en cuestión como parámetro, puede verificar si tiene los permisos de WordPress para acceder a alguna funcionalidad específica. Si no lo hace, puede trabajar para aprovecharlo antes de continuar y acelerar su proceso de desarrollo.
    5. delete_plugins() : esta función hace literalmente lo que sugiere su nombre: delete_plugins() el nombre registrado de cualquier complemento, y ejecutar esta función eliminará el complemento y sus directorios. Una vez más, tenga en cuenta que esta acción es permanente y no se puede revertir. Asegúrese de tener el nombre correcto, de haber realizado una copia de seguridad de su sitio, etc., antes de continuar con la ejecución de esta función.

    Funciones obligatorias del tema de WordPress

    Tal como prometimos, estamos dando vueltas hacia atrás para echar un vistazo a esas funciones "obligatorias" del tema de WordPress. Estas son funciones que todo tema de WordPress debe tener para funcionar correctamente. Tenga en cuenta que, al igual que con la mayoría de las formas de programación, simplemente puede crear un archivo con estas funciones en blanco, y esto aún se consideraría válido.

    Esta es una táctica que utilizan muchos blogs para hacer que el proceso parezca mucho más rápido de lo que es y para que te ayuden a entender más rápidamente lo que denominan "los conceptos básicos de WordPress". Sin embargo, recuerde que no se está haciendo ningún favor a usted ni a su (s) sitio (s) al omitir estas funciones obligatorias u "obligatorias". Simplemente se está asegurando de que algunas características que dependen de estas funciones no funcionarán según lo previsto. Siempre es mejor hacer su sitio correctamente la primera vez que tener que volver continuamente y editar algo solo para mantener todo apenas unido.

    Simplemente vea el archivo de ejemplo de configuración inicial de las funciones del tema de WordPress para ver todas las funciones que son "obligatorias" para su tema ubicadas en el

    Editar el archivo Functions.php

    Entonces, ahora que hemos repasado los conceptos básicos de los archivos de funciones de WordPress, echemos un vistazo a cómo puede editar este archivo. Existen varias "mejores prácticas", pero la mejor manera de hacerlo es bastante simple.

    Primero, deberá pasar por el mismo cliente SFTP usando las mismas credenciales SFTP antes. A continuación, deberá ubicar y descargar en su unidad local el archivo PHP en sí. Usando un editor (como el Notepad ++ de código abierto) en su computadora local, primero edite localmente.

    Idealmente, debería tener algo instalado localmente que le permita probar este archivo. Sin embargo, si no lo hace, solo asegúrese de que el archivo original tenga una copia de seguridad y esté listo para la restauración en caso de que sus modificaciones no salgan como esperaba. Luego, reemplace ese archivo en el servidor y observe cómo se ejecuta.

    Como alguien que probablemente esté en camino de convertirse en un desarrollador experimentado de WordPress, hay una mejor práctica que debe tener en cuenta según lo recomendado por el propio equipo de WordPress. Si está agregando una funcionalidad de naturaleza significativa que le gustaría poder reutilizar (análogo a un "objeto" en un lenguaje orientado a objetos para los programadores), es una mejor práctica crear un complemento completo con este PHP que puede instalar y desinstalar fácilmente en cada uno de sus sitios. Aunque esto suena más complejo, en realidad le ahorrará tiempo a lo largo de los años.

    ¿Cómo agrego código a Functions.php?

    Si simplemente se refiere a modificar este archivo, eche un vistazo a nuestra respuesta anterior. Sin embargo, muchos usuarios hacen esta pregunta porque están interesados ​​en agregar una función adicional propia al archivo.

    Una vez más, se considera una "práctica recomendada" incorporar funciones como esta en un complemento en lugar de editar sin cesar los archivos de temas. Independientemente, ¡veremos en la siguiente subsección cómo agregar sus propias funciones personalizadas!

    ¿Cómo puedo inyectar mi propia función personalizada en WordPress?

    ¡Ahora, finalmente ha llegado el momento de que inyecte sus propias funciones en WordPress! Este es un hito importante para cualquier desarrollador, por lo que una pequeña celebración puede estar en orden. Primero, profundicemos en cómo hacer esto exactamente.

    Aunque siempre es mejor agregar su código personalizado a un complemento que publique más adelante, como mínimo, no edite sus funciones en su sitio en vivo a menos que desee un desastre en sus manos. Asegúrese siempre de hacer una copia de seguridad completa de su sitio antes de editar el archivo functions.php de su tema.

    • 1. Aproveche un complemento gratuito para agregar funciones, como "Mis funciones personalizadas", que se utilizará en este tutorial.
    Mis funciones personalizadas

    2. Después de instalar el complemento, vaya a "Apariencia" y luego vaya a "Funciones personalizadas" donde verá las funciones personalizadas existentes a través de este nuevo complemento.

    3. Puede agregar una función PHP muy simple a esto. Por ejemplo, desplácese hacia abajo hasta la parte inferior del cuadro de entrada de texto y puede hacer que algo imprima "¡Hola, mundo!" con el siguiente texto:

     function hello_world () {
    echo "¡Hola, mundo!";
    }

    4. Tenga en cuenta que esto es simplemente PHP estándar; no existe un "marco de WordPress" o similar que altere fundamentalmente la sintaxis, lo cual es una gran noticia para los desarrolladores de PHP existentes.

    5. ¡Un último consejo rápido! Mientras trabaja en la actualización de las funciones que tienen su tema y sitio (s), hay un archivo en wp-config.php . Esto se encuentra en la raíz de su tema, y ​​deberá abrirlo en su editor de texto favorito a través de su cliente SFTP.

    Busque una línea que diga define('WP_DEBUG', false); . Simplemente cámbielo para que diga define('WP_DEBUG', true); . Tenga en cuenta que tendrá que volver a cambiarlo a FALSE una vez que haya terminado de desarrollar.

    ¿Cómo uso Functions.php para agregar scripts a encabezados y pies de página?

    Los scripts de encabezado y pie de página se utilizan a menudo con fines publicitarios y otros fines de seguimiento. Es posible que sea necesario insertarlos en todas las páginas o solo en determinadas páginas específicas. De cualquier manera, editar ese archivo PHP directamente no es el camino a seguir a menos que sea un usuario experimentado de WordPress.

    Una vez más, necesitaremos agregar un pequeño complemento antes de comenzar. Esta vez, el complemento se denomina complemento Insertar encabezados y pies de página.

    Insertar encabezados y pies de página

    Después de agregar esto a sus temas o sitio (s), podrá acceder a la funcionalidad de edición a través de "Configuración" y luego "Insertar encabezados o pies de página". Debería ver un cuadro para los scripts de encabezado y un cuadro para los scripts de pie de página. Para aclarar, este complemento espera que lo pongas en JavaScript, y no en PHP, así que asegúrate de que tus scripts estén en el formato correcto antes de continuar, porque este complemento no te dará mensajes de error; todo lo que pongas en estos cuadros se incluirá en tus páginas como JavaScript.

    Necesitará tener los scripts que desea agregar listos para pegar directamente en los cuadros, luego haga clic en "Guardar", ¡y el proceso habrá terminado! Algunos usuarios han informado que estos cambios no son visibles hasta que los clientes borran las cachés de su navegador y borran la caché del servidor, por lo que es posible que deba hacer esto para que los cambios surtan efecto.

    Conclusión: una introducción al archivo WordPress Functions.php

    Gracias por tomarse el tiempo de repasar nuestro extenso (¡pero con suerte valioso!) Tutorial sobre cómo funciona el archivo functions.php de WordPress, la diferencia entre la versión principal de WordPress del archivo de funciones y la versión del tema del archivo. Esperamos que toda esta información, cuando se asimile en su flujo de trabajo diario de WordPress y en las prácticas de administración de sitios web, pueda ayudarlo a convertirse en un desarrollador de WordPress aún mejor.

    Obtenga el contenido adicional: la lista de verificación de mantenimiento definitiva de WordPress
    Descarga el PDF
    Archivo functions.php de WordPress