Cómo encontrar, acceder y editar funciones.php en WordPress
Publicado: 2022-08-23Si recién está comenzando con el desarrollo de WordPress, uno de los archivos más importantes con los que debe familiarizarse es el archivo functions.php . En realidad, hay tres posibles archivos functions.php que puede usar en su sitio web de WordPress, y cada uno juega un papel diferente. Saber dónde se encuentran estos archivos, cuál es su propósito y cómo y cuándo modificarlos lo ayudará a solucionar problemas y le dará más control sobre la funcionalidad de su sitio.
En este artículo, cubriremos todo lo que necesita saber sobre los archivos functions.php de WordPress. Aprenderá qué hace functions.php y cómo encontrarlo y editarlo. Incluso incluiremos algunos fragmentos de código útiles para probar.
Puede comenzar desde el principio y leer o saltar a una sección específica usando la tabla de contenido a continuación:
- ¿Qué es functions.php en WordPress?
- ¿Dónde se encuentra el archivo functions.php ?
- Cómo acceder a funciones.php
- Accediendo a functions.php en su interfaz de administración de WordPress
- Accediendo a functions.php a través de FTP
- Accediendo a functions.php en tu cPanel
- ¿Cuándo debo editar functions.php en WordPress?
- Cómo editar funciones.php en WordPress
- Edición de functions.php en su editor de archivos de temas de WordPress
- Edición de functions.php con un editor de texto
- Editando functions.php directamente en cPanel
- Usando un complemento para agregar funciones a su sitio de WordPress
- Cómo proteger functions.php de vulnerabilidades de seguridad
- ¿Qué código puedo agregar a functions.php en WordPress?
- Preguntas más frecuentes
- ¿Necesito crear un tema secundario para editar functions.php ?
- ¿Cómo restauro functions.php desde una copia de seguridad si no tengo acceso a mi panel de WordPress?
- ¿Puedo agregar JavaScript a mi archivo functions.php ?
¿Qué es functions.php en WordPress?
En WordPress, el archivo functions.php es donde vive el código vital que determina la forma en que funciona su sitio. En realidad, hay al menos dos archivos functions.php en cada sitio web de WordPress: uno incluido con el núcleo de WordPress y otro incluido con su tema. Si está utilizando un tema secundario, también debe tener un archivo functions.php en la carpeta de su tema secundario.
El archivo functions.php en el núcleo de WordPress contiene un código importante que se requiere para que WordPress funcione. Casi nunca debe modificar el código en el archivo functions.php del núcleo de WordPress.
El archivo functions.php de su tema es donde se encuentran todas las características específicas del tema de su sitio web, como ubicaciones de menú personalizadas, áreas de widgets, contenido y funcionalidad de encabezado y pie de página personalizados, longitud de extractos de publicaciones y más.
El archivo functions.php de su tema se comporta de la misma manera que un complemento de WordPress. La diferencia es que functions.php debe usarse para el código que es específico del tema, mientras que los complementos deben usarse para la funcionalidad que permanecerá incluso cuando cambie de tema.
¿Dónde se encuentra el archivo functions.php ?
Hemos hablado sobre lo que hace el archivo functions.php tanto en el núcleo de WordPress como en los archivos de temas, pero ¿cómo encuentras el archivo functions.php ? ¿Dónde está functions.php en WordPress?
Todos sus archivos de WordPress se encuentran en el directorio raíz de su sitio y en varias subcarpetas. Su directorio raíz generalmente se llama algo así como public_html o www , pero puede tener un nombre diferente. Si no está seguro de dónde encontrar su carpeta de instalación de WordPress en su servidor, comuníquese con su servidor web.
Una vez que haya encontrado dónde se encuentran sus archivos de WordPress en su servidor, puede comenzar a buscar sus archivos functions.php . Hemos mencionado que hay hasta tres ubicaciones para functions.php : el núcleo de WordPress, la carpeta de su tema y la carpeta de su tema secundario. En esta sección repasaremos dónde encontrar cada uno.
¿Dónde está functions.php en el núcleo de WordPress?
Si está buscando la ubicación de functions.php en el núcleo de WordPress, lo encontrará en la carpeta wp-includes de su instalación de WordPress.

Si bien nunca debe editar functions.php en el núcleo de WordPress, es posible que necesite inspeccionarlo por una razón u otra. El escenario más probable para hurgar en functions.php en el núcleo de WordPress es si sospecha que se le ha inyectado malware.
Incluso antes de abrir functions.php , debe hacer una copia de seguridad de su sitio de WordPress en caso de que accidentalmente realice un cambio en el archivo que provoque un error crítico. Si encuentra que functions.php ha sido dañado o pirateado, es probable que tenga otras áreas de WordPress afectadas. Lo mejor que puede hacer es simplemente reemplazar WordPress con una instalación nueva, en lugar de intentar eliminar todos los scripts ofensivos uno por uno.
¿Dónde está functions.php en mi carpeta de temas de WordPress?
El archivo functions.php de su tema se encuentra en el directorio principal de la carpeta de su tema: wp-content → themes → yourtheme .

¿Dónde está functions.php en la carpeta del tema secundario de WordPress?
El archivo functions.php del tema secundario de WordPress se encuentra en el directorio principal de la carpeta del tema secundario: wp-content → themes → yourtheme-child .

¿Cómo accedo a functions.php ?
Saber dónde vive functions.php es solo la mitad del trabajo. Ahora viene la cuestión de cómo acceder a functions.php en WordPress. Si bien solo se puede acceder al archivo functions.php en el núcleo de WordPress a través del protocolo seguro de transferencia de archivos (SFTP) o a través de cPanel, también se puede acceder a los archivos functions.php de su tema y tema secundario en el Editor de archivos de temas de WordPress.
Acceso a functions.php en el editor de archivos de temas de WordPress
Si necesita acceder a su tema o al archivo functions.php de su tema secundario, puede hacerlo directamente desde el Editor de archivos de temas de WordPress. En su tablero de WordPress, vaya a Apariencia → Editor de archivos de temas .
Accederá a la página Editar temas . Desde aquí, en el menú desplegable junto a Seleccionar tema para editar , elija su tema y haga clic en Seleccionar . Verá una lista de archivos disponibles para editar en la columna Archivos de tema en el extremo derecho de su pantalla. Haga clic en functions.php para abrir el archivo.

Si está en el archivo functions.php de su tema principal, verá un aviso de advertencia en la parte inferior de la pantalla sobre el botón Actualizar archivo que dice: "Precaución: este es un archivo en su tema principal actual".
Nota: Si no es el desarrollador del tema, debe realizar los cambios en el archivo functions.php de su tema secundario para evitar que se sobrescriban sus modificaciones en futuras actualizaciones del tema. |
Acceso a functions.php a través de SFTP
Paso 1: Instale su cliente SFTP. Si aún no tiene un cliente SFTP, deberá descargar uno. Existen excelentes opciones gratuitas y premium, que incluyen:
Solicitud | Sistema | Gratis o Premium |
WinSCP | ventanas | Libre |
Filezilla | Windows, Mac, Linux | Opciones gratuitas y premium |
Cyberduck | Windows Mac | Libre |
Transmitir | Mac | De primera calidad |
En este ejemplo, usaremos Filezilla. Otros clientes SFTP deberían funcionar de manera similar.
Paso 2: recupere sus credenciales de SFTP. Para iniciar sesión en su servidor a través de SFTP, necesitará los siguientes detalles:
- Host (la dirección IP o URL de su servidor)
- nombre de usuario SFTP
- Clave
- Número de puerto
Estos detalles generalmente se pueden encontrar en su panel de control de alojamiento. Esta información puede generarse para usted o su anfitrión puede solicitarle que cree un nombre de usuario y una contraseña de SFTP. Si no sabe dónde encontrar estas credenciales o tiene problemas para averiguar cómo crearlas, busque instrucciones en la documentación de ayuda de su host o comuníquese con su equipo de soporte.
Paso 3: Ingrese sus credenciales SFTP.
Ingrese la dirección IP o URL de su host, su nombre de usuario SFTP, contraseña y el número de puerto (generalmente 22 o 2222, pero algunos hosts pueden usar un puerto diferente).

Nota: Es posible que reciba una alerta de "clave de host desconocida" si su cliente SFTP utiliza la autenticación de confianza en el primer uso (TOFU). Marque 'Confiar siempre en este host, agregue esta clave al caché' si planea usar su cliente SFTP para acceder al sitio nuevamente. Haga clic en Aceptar para continuar.

Paso 4: navegue al directorio raíz de su sitio web.
Una vez que haya iniciado sesión, verá dos árboles de archivos en el botón de su pantalla: uno a la izquierda y otro a la derecha. El lado derecho enumera los directorios en su servidor web (remoto). El lado izquierdo enumera los directorios en su computadora (local).
Su directorio raíz generalmente se encuentra en una carpeta etiquetada como www o public_html , pero podría usar un nombre diferente. Si no está seguro de en qué carpeta buscar, pregunte a su proveedor de alojamiento. Sabrá que está en la carpeta correcta si ve las carpetas wp-admin , wp-content y wp-includes cerca de la parte superior de su lista de archivos.

Paso 5: navegue a functions.php en el núcleo de WordPress, su tema principal o tema secundario. Si está buscando functions.php en el núcleo de WordPress, navegará a la carpeta wp-includes .
Si está buscando functions.php en su directorio de temas, navegará hasta wp-content → themes → yourtheme .
Para encontrar el archivo functions.php de su tema hijo, vaya a wp-content → themes → yourtheme-child.
Paso 6: Descarga functions.php . Ahora que sabe dónde se encuentra functions.php y ha accedido a él, es posible que desee inspeccionar o editar el archivo. Antes de que pueda hacer eso, deberá descargarlo. Haga clic derecho en su archivo functions.php y seleccione Descargar . Su archivo se descargará en su máquina local.

Accediendo a functions.php en cPanel
Si su host usa cPanel, puede acceder a functions.php a través de su administrador de archivos. Si no sabe cómo encontrar cPanel en el panel de control de su host, comuníquese con el servicio de atención al cliente para obtener ayuda.
Paso 1: Abra el Administrador de archivos de cPanel. Una vez que esté en cPanel, vaya a la sección Archivos y haga clic en Administrador de archivos .
Paso 2: Abra la carpeta raíz de su sitio web. La carpeta raíz comúnmente se llama www o public_html , pero puede tener otro nombre. Las convenciones de nomenclatura de la carpeta raíz difieren en algunos hosts, por lo que si no está seguro de en qué carpeta buscar, pregunte a su proveedor de alojamiento.
Sabrá que está en la carpeta correcta si ve las carpetas wp-admin , wp-content y wp-includes cerca de la parte superior de su lista de archivos.
Paso 3: busque y descargue functions.php . El archivo functions.php para el núcleo de WordPress se encuentra en su carpeta wp-includes .
El archivo functions.php de su tema se encuentra en wp-content → themes → yourtheme .
Si está buscando el archivo functions.php de su tema hijo, puede encontrarlo en wp-content → themes → yourtheme-child.
Cuando haya encontrado el archivo functions.php que está buscando, haga clic con el botón derecho en functions.php y haga clic en Descargar , o haga un solo clic en functions.php y luego haga clic en la opción Descargar del menú superior.

Si cambia el nombre de su archivo cuando lo guarda, asegúrese de volver a nombrarlo functions.php antes de volver a cargarlo. Y antes de realizar cambios y sobrescribir functions.php , haga una copia de seguridad de su sitio de WordPress.
¿Cuándo debo editar functions.php en WordPress?
Antes de profundizar en cómo editar functions.php , debemos hablar sobre si debe editarlo y cuándo . Hay muchas razones por las que podría querer editar el código PHP en WordPress, pero agregar ese código a su archivo functions.php no siempre es la mejor opción y solo debe hacerse bajo ciertas circunstancias, que discutiremos a continuación.
Cuándo editar functions.php en el núcleo de WordPress
Nunca. No debe editar functions.php en el núcleo de WordPress. A lo sumo, puede reemplazarlo si descubre que se ha dañado, pero es probable que eliminar o agregar código a las funciones principales de WordPress.php dañe su sitio. Por lo tanto, puede abrirlo, inspeccionarlo, reemplazarlo con una copia nueva si es necesario, pero no pierda el tiempo en ningún sitio web en vivo.
Cuándo editar functions.php en tu tema
Cuando se trata del archivo functions.php de su tema, puede o no necesitar editarlo. Si está creando su propio tema, seguramente querrá agregar un código personalizado a functions.php . Casi todos los temas tienen un código en su archivo functions.php que les brinda un conjunto único de características y capacidades. Además de sus hojas de estilo, estas funciones son una gran parte de lo que hace que un tema sea diferente de otro.
Si está agregando código al archivo functions.php de su tema que no es específico de su tema y podría usarse independientemente de su tema, considere convertirlo en un complemento. De esta manera, puede usar esa función en varios temas e incluso enviarla a la biblioteca de complementos de WordPress.org, donde podría beneficiar a otros usuarios de WordPress.
Antes de crear su complemento, verifique la biblioteca de complementos para asegurarse de que lo que está creando no exista ya. Si ya existe una solución de calidad, es posible que desee ahorrar su energía de desarrollo para una función personalizada diferente en su sitio.
Cuándo editar functions.php en su tema hijo
Si está utilizando un tema de un desarrollador y desea modificar el archivo functions.php , siempre debe usar un tema secundario para realizar esos cambios. Cuando los desarrolladores de temas publican una nueva versión de su tema y usted actualiza a la última, los nuevos archivos sobrescriben su tema actual, incluido functions.php .
Los temas secundarios no se ven afectados por las actualizaciones del tema principal, por lo que conservará todo su código personalizado si realiza cambios en el archivo functions.php de un tema secundario.
Antes de agregar código, considere si usar un complemento sería una mejor solución. ¿El código que está agregando es específico para su tema? Edite el archivo functions.php de su tema hijo. ¿El código que está agregando es algo que desea conservar si cambia de tema en el futuro (por ejemplo, el código de seguimiento de Google Analytics o el píxel de Facebook)? Usa un complemento.
Cómo editar funciones.php en WordPress
Siempre debe tomar medidas para proteger su sitio de cualquier error que pueda cometer al editar functions.php . Entonces, antes de comenzar a realizar modificaciones, haga una copia de seguridad de su sitio y considere crear un sitio de prueba para probarlos primero. De esta manera, su sitio en vivo no se interrumpe si accidentalmente agrega algún código a functions.php que causa problemas importantes o, lo que es peor, bloquea su sitio por completo.
Ahora que ha realizado una copia de seguridad de su sitio, puede pasar a editar su archivo functions.php .
Cómo editar functions.php en el editor de archivos de temas de WordPress
Editar functions.php en el editor de archivos de temas de WordPress es un poco arriesgado. Si está utilizando esta herramienta porque no tiene acceso a cPanel o SFTP, estará en una situación bastante mala si sus ediciones provocan un error fatal que le impide acceder a su panel de WordPress.
Si desea editar functions.php en el Editor de archivos de temas, asegúrese de tener acceso directo al servidor y sus copias de seguridad para que pueda restaurar su archivo de copia de seguridad rápidamente.
Puede encontrar el Editor de archivos de temas de WordPress en Apariencia → Editor de archivos de temas en su panel de administración de WordPress.
Accederá a la pantalla Editar temas, donde debe seleccionar su tema secundario, luego seleccione el archivo functions.php de la columna Archivos de temas a la derecha de su pantalla.

Si ha seleccionado el tema principal, verá una advertencia en la parte inferior de la pantalla que dice: " Precaución: este es un archivo en su tema principal actual". No desea realizar ediciones en el archivo functions.php de su tema principal porque sus cambios se sobrescribirán la próxima vez que actualice su tema.
Si ve funciones en su archivo que no comprende, WordPress incluye una práctica función de búsqueda de documentación justo encima del botón Actualizar archivo . Haga clic en el menú desplegable y busque el nombre de la función sobre la que desea obtener más información y haga clic en Buscar . Será dirigido a la documentación de WordPress.org para esa función.
Cuando haya terminado con los cambios, haga clic en Actualizar archivo . Verifique la parte delantera y trasera de su sitio para asegurarse de que todo sigue funcionando según lo previsto. Si encuentra un error fatal y necesita restaurar functions.php desde su copia de seguridad, puede hacerlo en cPanel o mediante SFTP.
Edición de functions.php con un editor de texto
La mejor manera de editar functions.php es en el software de edición de código de su elección. Dado que está editando una copia que está fuera de línea en su computadora local, no necesita estar conectado a Internet para trabajar en su archivo. También tendrá más control sobre cuándo confirmar los cambios en su sitio en vivo.
Puede editar su código cuando lo desee y cargar sus cambios en el momento en que su sitio web normalmente recibe menos tráfico. De esa manera, si hay algún problema, se verá afectada la menor cantidad de visitantes.
Paso 1: Abra functions.php en su editor de texto. Si no está familiarizado con el uso de un editor de texto, hay varias opciones gratuitas para elegir.
Código fuente gratuito y editores de texto sin formato:
Solicitud | Sistema |
Bloc de notas++ | ventanas |
Átomo.io | Windows, Mac, Linux |
Sublime | Windows, Mac, Linux |
TextoEditar *Asegúrate de estar en modo de texto sin formato | Mac (aplicación predeterminada) |
Bloc | Windows (aplicación predeterminada) |
Paso 2: edite functions.php y guárdelo en su máquina local. Su pantalla puede verse diferente dependiendo del programa que use para editar su archivo functions.php . Así es como se ve el código PHP en atom.io:

Agregue o cambie cualquier información que necesite, luego guarde su archivo.
Paso 3: inicie sesión en su servidor web a través de SFTP o cPanel. Navegue hasta la carpeta de su tema o tema secundario y busque el archivo functions.php .
Paso 4: cambie el nombre del archivo de functions.php en su servidor web. En caso de que su versión editada contenga errores, no desea sobrescribir su archivo functions.php original. Ha realizado una copia de seguridad, por supuesto, pero en lugar de tener que extraer el archivo functions.php de su copia de seguridad, tendrá su archivo original a mano.
Desea poder restaurar el archivo functions.php rápidamente si algo sale mal, por lo que cambiarle el nombre a algo como 'functions-original.php' garantizará que el contenido del archivo original se conserve en su servidor.

Paso 5: Cargue functions.php desde su máquina local a su servidor web. Usando SFTP o cPanel, cargue su archivo functions.php en el directorio principal de su tema o tema secundario.
Paso 6: Visite su sitio web para asegurarse de que funciona correctamente. Una vez que haya cargado su archivo functions.php , debe verificar que todo esté funcionando en su sitio. Visite la interfaz e inicie sesión en el panel de control de WordPress para asegurarse de que todo sea accesible y se muestre y funcione correctamente.

Paso 7: Elimine el antiguo archivo functions.php renombrado. Una vez que haya establecido que su sitio funciona correctamente, puede eliminar functions-original.php (o el nombre que le haya dado). Si encuentra un problema en el futuro, aún debe tener su archivo functions.php de la copia de seguridad que realizó.
Editando functions.php directamente en cPanel
Si no tiene o no quiere usar un editor de código fuente, puede editar functions.php directamente en cPanel (si su host usa cPanel). Al igual que editar en el Editor de archivos de temas de WordPress, es un poco más arriesgado que trabajar en su máquina local. Si su conexión a Internet se interrumpe mientras está editando, podría perder sus cambios. También corre el riesgo de sobrescribir potencialmente su archivo functions.php original.
Paso 1: Encuentra functions.php en cPanel. En cPanel, haga clic en Administrador de archivos .
Navegue a su carpeta raíz (generalmente public_html o www , pero podría tener un nombre diferente).
Paso 2: haz una copia de functions.php . En el menú principal de su Administrador de archivos, haga clic en + Carpeta para agregar una nueva carpeta. Deberá hacer una copia de su archivo functions.php y guardarlo aquí como respaldo.
Nombre su nueva carpeta algo fácil de identificar como "funciones de copia de seguridad" para que pueda encontrarlo fácilmente más tarde. Haga clic en Crear nueva carpeta .

Paso 3: busque functions.php en su tema o carpeta de tema secundario y cópielo en la carpeta de copia de seguridad. En la carpeta de su tema o tema secundario, desplácese hacia abajo hasta functions.php y haga clic con el botón derecho en el nombre del archivo. Seleccione Copiar .

Aparecerá un cuadro de diálogo que le pedirá que ingrese la ruta en la que desea copiar el archivo. La ruta a la carpeta en la que se encuentra actualmente se completará previamente, por lo que si la ruta del archivo a su carpeta de copia de seguridad difiere de lo que ve, escriba la ruta correcta. Haga clic en Copiar archivo(s) .
Paso 4: Vuelve a functions.php en el directorio de tema o tema secundario. Ahora que tiene una copia de seguridad, puede volver al archivo functions.php en el directorio del tema o del tema secundario y comenzar a editar.
Haga clic derecho en functions.php , luego haga clic en Editar .
Paso 5: Edite functions.php . Ahora debería ver el contenido de su archivo functions.php en su pantalla. Debería verse algo como esto:

Agregue o cambie cualquier información que necesite, luego guarde su archivo.
Usando un complemento para agregar funciones a su sitio de WordPress
En lugar de modificar directamente el archivo functions.php , puede usar un complemento como Code Snippets para agregar funciones a su sitio web. Si necesita agregar una buena cantidad de funciones a su sitio, puede ser fácil perder la noción de qué funciones aún necesita y cuáles no.
Code Snippets proporciona una interfaz gráfica de usuario (GUI) para administrar sus bloques de código PHP. Puede agregar descripciones para que sepa lo que se supone que debe hacer el código y activar y desactivar bloques de código, al igual que activar y desactivar un complemento.
Dado que no está realizando cambios en functions.php , es un método mucho más seguro para agregar funciones de PHP a su sitio de WordPress.
Cómo proteger functions.php de vulnerabilidades de seguridad
El archivo functions.php es a menudo un objetivo de los piratas informáticos, por lo que mantenerlo seguro debe ser una alta prioridad. Realice los siguientes pasos para ayudarlo a proteger su archivo functions.php :
1. Instala un complemento de seguridad
Al usar un complemento de seguridad, disfrutará de protección avanzada contra piratas informáticos en múltiples áreas de su sitio.
Jetpack Security es una opción económica que ayuda a mantener su sitio a salvo de ataques maliciosos. Incluye escaneo de malware y soluciones con un solo clic, protección contra ataques de fuerza bruta, monitoreo de tiempo de inactividad, un registro de actividad para que sepa si su sitio fue pirateado y cuándo, y protección de inicio de sesión a través de autenticación de dos factores (2FA).

Jetpack Security también supervisa su sitio en busca de cambios en los archivos principales de WordPress, complementos obsoletos o inseguros y otras vulnerabilidades para que pueda detectarlos antes de que un pirata informático los encuentre y se aproveche.
Además, proporciona copias de seguridad de WordPress en tiempo real para que pueda restaurar rápidamente una versión limpia si algo sale mal, incluso si no puede iniciar sesión en su sitio.
2. Denegar el acceso a WordPress core functions.php a través de . archivo htaccess
Si su sitio web está alojado en un servidor Apache, puede utilizar un archivo . htaccess para ayudar a proteger su archivo WordPress core functions.php al bloquear el acceso a toda la carpeta wp-includes .
Paso 1: Descarga .htaccess
Usando SFTP o cPanel, navegue a la carpeta raíz de su sitio web. Haga clic derecho en . htaccess y seleccione Descargar para descargar el archivo a su computadora local.
Paso 2: agregue código para bloquear el acceso a la carpeta wp-includes
En un editor de código fuente o de texto sin formato, abra . htaccess y agregue el siguiente código:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>
Guarde su archivo. Asegúrese de que su programa editor no incluya una extensión de archivo. Si está utilizando Notepad ++ o Text Edit, puede agregar una extensión de archivo .txt. El archivo simplemente debe llamarse '.htaccess.'
Paso 3: sube el archivo editado. htaccess de nuevo a la carpeta raíz
Sube tu editado. htaccess a la carpeta raíz de su sitio web. Se le preguntará si desea sobrescribir el archivo existente. Haga clic en Aceptar .
Ahora tu . El archivo htaccess debe bloquear el acceso externo a cualquier archivo en su carpeta wp-includes , incluido functions.php .
3. Denegar el acceso a functions.php usando functions.php
Puede bloquear el acceso directo a su archivo functions.php agregando el siguiente fragmento de código directamente a functions.php .
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'functions.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('Access denied!'); }
4. Ocultar functions.php fuera del directorio raíz
Los piratas informáticos conocen la ubicación predeterminada de todos los archivos estándar de WordPress. Cambiar la ubicación de los archivos confidenciales a una carpeta de acceso restringido fuera del directorio raíz puede mantenerlos fuera del alcance de los piratas informáticos. Este proceso es un poco más complicado que simplemente agregar algo de código a su archivo .htaccess , pero vale la pena el esfuerzo adicional por la capa adicional de protección de su sitio web.
En solo unos pocos pasos, puede proteger functions.php fuera de la carpeta raíz.
Paso 1: Descargue su archivo functions.php actual
Si está moviendo el archivo functions.php de su tema, lo encontrará en wp-content → themes → yourtheme . El archivo de su tema hijo estará en wp-content → themes → yourtheme-child .
Una vez que haya encontrado su archivo functions.php , descárguelo a su computadora a través de SFTP o cPanel.
Paso 2: Cree un nuevo directorio fuera de la carpeta raíz
Navegue fuera de su directorio raíz al siguiente nivel de carpeta de archivos. Debería ver el nombre de su carpeta raíz, así como varias otras carpetas. En este directorio, haga clic derecho y seleccione Crear directorio .

Dale a tu directorio un nombre que sea fácil de recordar como la ubicación de tu archivo functions.php .
Paso 3: Sube functions.php a tu nueva carpeta
Cargue el archivo functions.php que descargó anteriormente en su nueva carpeta a través de SFTP o cPanel.

Verifique los permisos de su nueva carpeta y archivo functions.php y asegúrese de que estén configurados en 600.

Paso 4: Apunte WordPress al nuevo archivo functions.php
Debería tener un archivo functions.php en su nuevo directorio, así como el archivo functions.php original que todavía está en su carpeta de temas. Para que WordPress encuentre y use el archivo correcto, querrá eliminar toda la información en el archivo functions.php de su archivo de tema y el siguiente fragmento de código:
<?php include('/home3/usr/securefunctions/functions.php'); ?>
Nota: la ruta de su archivo se verá diferente, ya que usará los nombres de directorio de su servidor.
En cPanel, puede abrir el archivo functions.php del directorio raíz y editarlo directamente o puede editar la copia que descargó en su máquina local anteriormente usando un editor de código fuente. Para este ejemplo, hemos editado la copia que descargamos anteriormente usando Atom.io.
Guarde su archivo functions.php y cárguelo nuevamente en su directorio de temas.

Se le preguntará si desea sobrescribir el archivo. Haga clic en Aceptar .
Ahora, WordPress debería hacer referencia a su nuevo archivo functions.php en su ubicación segura fuera de la carpeta raíz.
4. Cambia el nombre de tu archivo functions.php
Cambiar el nombre de su archivo functions.php es otro paso que puede tomar para mantenerlo a salvo de los piratas informáticos. Deberá alojar este archivo fuera de su carpeta raíz, por lo que si ha seguido el proceso en Ocultar funciones.php fuera del directorio raíz , solo tendrá que realizar algunos pasos adicionales.
Paso 1: en su directorio seguro fuera de la carpeta raíz, cambie el nombre del archivo de functions.php
Vaya a la carpeta functions.php alojada fuera de su directorio raíz y cambie el nombre del archivo a algo único, como "keep-out.php" o "estas-no-son-las-funciones-que-está-buscando". php' . De acuerdo, el último es un poco largo, pero realmente no importa cómo lo llames, siempre y cuando lo incluyas en la ruta del archivo en la copia de la carpeta del tema de functions.php .
Paso 2: edite el código en functions.php en su directorio raíz para reflejar el cambio de nombre
Ahora que ha cambiado el nombre a algo que no sea functions.php , deberá asegurarse de que su copia del directorio de temas de functions.php apunte al nombre de archivo correcto.
Descargue la copia de la carpeta raíz de functions.php en su computadora local y edítela con su editor de texto. Cambie el nombre del archivo functions.php a su nuevo nombre de archivo, luego guarde su archivo.
<?php include('/home3/usr/secureconfig/keep-out.php'); ?>
Paso 3: Cargue functions.ph p de vuelta al directorio de temas
Se le preguntará si desea sobrescribir el archivo existente. Haga clic en Aceptar .
Ahora WordPress debería apuntar a su archivo de funciones renombrado.
Capas adicionales de seguridad para functions.php
Puede agregar alguna protección adicional a su sitio web en su conjunto, incluido su archivo functions.php , haciendo cambios similares en su archivo wp-config , como cambiarle el nombre, alojarlo fuera del directorio raíz y denegar el acceso público.
Si ve un código sospechoso en sus archivos functions.php y le preocupa que ya haya sido pirateado, querrá leer sobre cómo detectar y eliminar malware de su sitio web de WordPress.
¿Qué código puedo agregar a functions.php en WordPress?
Hay muchos fragmentos de código diferentes que puede agregar a su archivo functions.php de WordPress. Sin embargo, a menudo es mejor utilizar un complemento (o escribir su propio complemento) para muchas funciones. Si el código que desea agregar es específico para su tema, puede agregar ese código PHP al archivo functions.php de su tema secundario.
A continuación hay un puñado de funciones útiles que puede insertar en el archivo functions.php de su tema hijo:
Agregar un nuevo usuario administrador en functions.php
Si ha perdido el acceso de administrador a su panel de WordPress y no puede recuperar su nombre de usuario o contraseña por correo electrónico, puede crear un nuevo usuario administrador a través de su cuenta de alojamiento. Ya sea a través de SFTP o cPanel, puede descargar su archivo functions.php y agregar el siguiente código para crear un nuevo usuario administrador para su sitio.
function qode_add_new_admin_account() { $user = 'your-username'; $password = 'your-password'; $email = 'your-email'; if ( ! username_exists( $user ) && ! email_exists( $email ) ) { $user_id = wp_create_user( $user, $password, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action( 'init', 'qode_add_new_admin_account' );
En el código anterior, reemplace 'su-nombre de usuario', 'su-contraseña' y 'su-correo electrónico' con sus propias credenciales. Guarde su archivo functions.php y vuelva a cargarlo en su carpeta de temas. Esto creará un nuevo usuario administrador con el nombre de usuario, la contraseña y la dirección de correo electrónico que asignó en el código.
Después de cargar su archivo, navegue a la página de inicio de sesión de su sitio y use su nuevo nombre de usuario y contraseña para iniciar sesión. Una vez que su inicio de sesión sea exitoso y haya confirmado que tiene privilegios de administrador, debe eliminar el código que agregó a cree su nueva cuenta de administrador desde functions.php .
Agregar y eliminar tamaños de imagen en functions.php
Cuando carga una imagen en la biblioteca multimedia de WordPress, se generan múltiples variaciones de su imagen. WordPress tiene miniaturas predeterminadas, tamaños pequeño, mediano y grande que se utilizan además de su imagen de tamaño completo. Su tema generalmente obtendrá el tamaño de imagen óptimo para partes individuales de su sitio.
Si está creando su propio tema o necesita realizar modificaciones en un tema secundario para acomodar tamaños de imagen personalizados adicionales, puede hacerlo en su archivo functions.php .
Use el siguiente código y cambie el nombre del tamaño de su imagen personalizada de 'custom-small-square' y 'custom-landscape' al nombre que desee usar. Los números junto al nombre del tamaño de la imagen personalizada representan el tamaño de la imagen en píxeles, así que ingrese los valores de los píxeles con el ancho primero y la altura después.
function register_custom_image_sizes() { if ( ! current_theme_supports( 'post-thumbnails' ) ) { add_theme_support( 'post-thumbnails' ); } add_image_size( 'custom-small-square', 450, 450, true ); add_image_size( 'custom-landscape', 1000, 600 ); } add_action( 'after_setup_theme', 'register_custom_image_sizes' );
Keep in mind that additional custom image sizes can weigh down your site and impact load times. If you have some WordPress default image sizes that your theme doesn't use, you may want to delete and disable those to make room for your custom sizes.
If you want to disable WordPress default image sizes, you can place this code snippet into your functions.php file:
add_filter( 'intermediate_image_sizes_advanced', 'prefix_remove_default_images' ); // This will remove the small, medium, and large default image sizes. function prefix_remove_default_images( $sizes ) { unset( $sizes['small']); // 150px unset( $sizes['medium']); // 300px unset( $sizes['large']); // 1024px return $sizes; }
If you only need to disable one or two sizes, you can only add those sizes to the code above and delete the code that you don't need.
Use functions.php to allow additional file types in uploads
WordPress only allows a few different file types to be uploaded in your WordPress dashboard. This is a reasonable security measure, but you might encounter a situation where you need to upload a file type that's not natively allowed.
To add more allowed file types to WordPress, add the following code to your child theme's functions.php :
function additional_upload_file_types($mime_types){ $mime_types['stl''] = 'application/sla'; $mime_types['stl'] = 'application/vnd.ms-pki.stl'; $mime_types['stl'] = 'application/x-navistyle'; return $mime_types; } add_filter('upload_mimes', 'additional_upload_file_types', 1, 1);
For the above example, we used the stl file type, which is a CAD file type. It's an unusual file type to upload to a website outside of certain niche industries, but if your site is for an industrial designer, engineering firm, or even an orthodontics lab, you might find the ability to upload STL files really useful.
You can replace the $mime_type variable with whatever file extension suits the needs of your website. You'll also need to include the media type and subtype after that (eg 'application/sla' or 'image/octet-stream'). Here's a complete list of mime types that you can refer to.
Frequently asked questions about editing the functions.php file in WordPress
We've covered what the functions.php file is, how to find functions.php , how to access it, how to edit it, and a few code snippets you can add to your functions.php file. We'll wrap things up with a few helpful answers to frequently asked questions.
Do I really need to use a child theme to edit functions.php ?
¿La respuesta corta? Sí.
If you're a theme developer, you'll definitely want to add your theme-specific functions directly to your theme's functions.php file. If you're modifying a theme from another developer that will get regular updates, however, you'll absolutely want to use functions.php within a child theme.
Most theme developers will periodically make updates to their themes for security and performance reasons, or to add new features. If you change the parent theme's functions.php file, those changes will all be overwritten when you update to your theme's latest version. All your hard work and customizations — poof! Gone.
Child themes aren't touched when the parent theme updates, so if you make changes to your child theme's functions.php file, your changes will be preserved any time you update your parent theme.
I edited functions.php and now I don't have access to my WordPress dashboard. ¡Ayuda!
In the unfortunate event that you edited the functions.php file and caused a critical error on your site that kept you from accessing the WordPress dashboard, don't worry — all is not lost!
There are a few things you can do to restore access to your site. You can edit functions.php via SFTP and a text editor or directly in cPanel if you know which bit of code caused the issue. Alternatively, you can restore functions.php from a backup or download a fresh copy of functions.php from your theme developer.
I know what code I messed up. I just need to access and edit functions.php to fix it.
See How to edit functions.php above for instructions on how to access and edit your theme or child theme's functions.php file.
I have no clue what I did to my functions.php file, but I have a backup.
If you have a backup on hand, you can access your files either on your web host's server or your remote server (depending on where you have opted to store these files), and use them to replace your corrupt functions.php file via SFTP or cPanel.
If you feel more comfortable restoring your entire site backup rather than trying to restore just the functions.php file, our article, “How to Restore WordPress from a Backup” goes in depth on the different methods you can use to restore your WordPress site.
I have no idea what code caused the problem and I didn't make a backup.
If you don't have a backup, you can download a fresh copy of the theme you're using from your theme developer, extract the functions.php file, and overwrite the broken functions.php file on your server via SFTP or cPanel.
Note: If you're using a theme that hasn't been updated in awhile, you may encounter issues in overwriting functions.php with a version that's from a much more recent update. If you encounter issues, you might be better off just manually updating your entire theme to the latest version. Alternatively, you can contact your theme developer to get the theme files for your current version and use that version of functions.php .
Can I add JavaScript to my functions.php file?
Yes, you can add code to your functions.php file that will add your custom JavaScript to either specific pages, posts, or all pages and posts on your site. This article covers all the different ways you can add JavaScript to your functions.php file.