Diseñador Web y Asesor

Cómo Subir Archivos SVG a WordPress: Solución Definitiva

Cómo Subir Archivos SVG a WordPress - Solución Definitiva

Tabla de Contenido

Los archivos SVG (Scalable Vector Graphics) son ideales para mantener la calidad de imágenes en cualquier tamaño. Sin embargo, WordPress no permite su subida por defecto debido a posibles riesgos de seguridad. En este artículo, te mostraré cómo habilitar la carga de SVG en WordPress con un código seguro y eficiente.

¿Por Qué Usar SVG en WordPress?

  • Escalabilidad: Los SVG no pierden calidad al cambiar de tamaño.
  • Rendimiento: Archivos más livianos que mejoran la velocidad de carga.
  • Flexibilidad: Se pueden editar con CSS y JavaScript.

Código para Permitir SVG en WordPress

El siguiente fragmento de código permite subir archivos SVG y corrige problemas de visualización en el administrador:

add_filter( 'wp_check_filetype_and_ext', function($data, $file, $filename, $mimes) {
  global $wp_version;
  if ( $wp_version !== '4.7.1' ) {
     return $data;
  }
  $filetype = wp_check_filetype( $filename, $mimes );
  return [
      'ext'             => $filetype['ext'],
      'type'            => $filetype['type'],
      'proper_filename' => $data['proper_filename']
  ];
}, 10, 4 );
 
function cc_mime_types( $mimes ){
  $mimes['svg'] = 'image/svg+xml';
  return $mimes;
}
add_filter( 'upload_mimes', 'cc_mime_types' );
 
function fix_svg() {
  echo '<style type="text/css">
        .attachment-266x266, .thumbnail img {
             width: 100% !important;
             height: auto !important;
        }
        </style>';
}
add_action( 'admin_head', 'fix_svg' );

¿Cómo Implementar el Código?

  1. Ve a Apariencia → Editor de temas en WordPress.
  2. Abre el archivo functions.php de tu tema hijo.
  3. Copia y pega el código al final del archivo.
  4. Guarda los cambios.

Precauciones de Seguridad

Aunque SVG es útil, puede contener código malicioso. Recomiendo:

  • Usar plugins de seguridad como SVG Sanitizer.
  • Subir SVG solo desde fuentes confiables.

Si quieres ver como yo trabajo mis SVG’s, te puede interesar este artículo.