JSON es un archivo de notación de objetos de JavaScript que se utiliza para transmitir datos. Por lo general, los desarrolladores de temas/complementos usan un archivo de configuración JSON para importar/exportar la configuración del personalizador. Sin embargo, importar o cargar un archivo JSON solo funciona cuando el desarrollador ofrece una página de configuración personalizada. De forma predeterminada, WordPress le impedirá cargar archivos JSON a través de la biblioteca de medios o el editor de publicaciones. Si necesita cargar archivos JSON en WordPress, estas son las opciones para usted.
Comportamiento predeterminado al cargar un archivo JSON en WordPress
Vaya a la sección Medios > Biblioteca de su panel de administración de WordPress e intente cargar un archivo .json Verá un error que dice "Lo siento, no tiene permiso para cargar este tipo de archivo". WordPress restringe la carga de ciertos tipos de archivos, como SVG y JSON, por razones de seguridad. Dado que estos son archivos de texto, el cargador puede agregar fácilmente código malicioso en el archivo para dañar su sitio. Sin embargo, a veces puede crear el archivo JSON usted mismo o saber que el archivo es fuente pura. En estos casos, puede habilitar manualmente la carga de JSON para procesar el archivo o permitir que los usuarios lo descarguen desde la interfaz.
Configuración del complemento Tema de importación JSON
Como se mencionó, casi todos los temas y complementos comerciales ofrecen una opción para exportar configuraciones e importarlas a otro sitio. Este archivo de configuración estará en formato .json y simplemente puede cargar el archivo a través de la página de configuración del tema o complemento. Para esto, no necesita ningún complemento ni fragmento de código adicional. A continuación se muestra una captura de pantalla de ejemplo del popular tema premium de GeneratePress para importar/exportar la configuración del personalizador como un archivo JSON.
Algunos temas, como Astra, ofrecen un complemento personalizado para importar/exportar configuraciones de personalización. En este artículo, analizaremos la carga de un archivo JSON a través de una biblioteca multimedia o un editor de publicaciones, NO la importación de configuraciones de complementos/temas.
Subir archivos JSON al panel de administración de WordPress
Al cargar un archivo, WordPress verifica su tipo MIME para permitir o restringir la carga. WordPress tiene una lista de tipos de archivos permitidos como se indica en esta documentación oficial del códice y .json no es el formato permitido. Por lo tanto, debe agregar manualmente el tipo MIME para JSON para permitir la carga de archivos a través del panel de administración. De lo contrario, puede cargar directamente el archivo a su servidor a través de FTP.
1. Permitir la carga de JSON usando un complemento
Esta es la mejor opción para cargar archivos JSON en su sitio.
- Vaya al menú Configuración > Tipos de archivos adicionales para ver una gran lista de tipos de archivos.
- Desplácese hacia abajo para encontrar el tipo de archivo .json y active la casilla de verificación Dado que la lista es enorme, puede usar "Control + F" o "Comando + F" para buscar JSON y encontrar rápidamente la fila.
- Desplácese hasta la parte inferior y haga clic en el botón "Guardar cambios".
- Ahora vaya al menú "Medios > Agregar nuevo" y cargue sus archivos JSON.
- Verá que el archivo se ha subido correctamente sin errores.
2. Permitir la carga de JSON usando una función personalizada
Puede usar una función personalizada para permitir el tipo MIME para la carga en formato de archivo JSON.
- Vaya a Apariencia > Editor de archivos de temas (o Herramientas > Editor de archivos de temas en los temas de bloque).
- Asegúrese de seleccionar su tema activo de la lista y haga clic en el archivo "Funciones de tema" (functions.php) de la lista.
- Copie el siguiente código y péguelo al final del archivo.
// Allow JSON Upload
function allow_json_mime($mimes) {
$mimes['json'] = 'application/json';
return $mimes;
}
add_filter('upload_mimes', 'allow_json_mime');
- Haga clic en el botón "Subir archivo" para guardar los cambios.
Ahora cargue un archivo JSON y verá que el archivo se puede cargar correctamente.
No olvide usar un tema secundario para agregar nuevas funciones o usar complementos como fragmentos de código para este propósito. Puede obtener más información sobre cómo editar funciones de temas y agregar funciones personalizadas en WordPress.
3. Permita todos los tipos de MIME usando el archivo wp-config.php
Como se mencionó, WordPress filtra o restringe la carga de ciertos tipos de archivos, sin embargo, puede deshabilitar esta función y permitir que se carguen todos los tipos de archivos.
- Inicie sesión en su servidor de alojamiento de forma remota utilizando una cuenta FTP o abra la aplicación Administrador de archivos en su panel de alojamiento.
- Busque el archivo wp-config.php en el directorio de instalación principal y edítelo con un editor de texto. Obtenga más información sobre cómo editar el archivo wp-config.php en WordPress.
- Copie el siguiente código y péguelo al final de su archivo.
- Guarde los cambios.
/** Allow All MIME File Types */
define( 'ALLOW_UNFILTERED_UPLOADS', true );
De forma predeterminada, esta función solo funciona para la función de administrador cuando se instala un solo sitio y la función de superadministrador cuando se instalan varios sitios. Por lo tanto, es una buena idea usar esta opción cuando sea el único administrador de su sitio y restrinja que otros carguen archivos JSON.
palabras de cierre
El uso de tipos de archivos adicionales es una opción fácil para cargar JSON y cualquier otro tipo de archivo. El complemento también ofrece una opción para usar un tipo MIME personalizado para la extensión de archivo para que pueda agregar un nuevo elemento si no aparece en la lista. Sin embargo, el complemento no brinda control sobre las funciones de los usuarios y no permite que nadie cargue archivos JOSN. Este es el mismo problema cuando se usa la función de tema personalizado. Si solo desea que los administradores tengan esta función, usar wp-config.php es una buena opción.
Deja una respuesta