Logotipo de Bitdoze

Cómo Subir Archivos vCard (VCF) a WordPress

Dos métodos para habilitar la subida de archivos vCard (.vcf) en WordPress: usando un plugin dedicado o un pequeño fragmento de código en functions.php.

Dragos

2 min de lectura

Cómo Subir Archivos vCard (VCF) a WordPress

WordPress bloquea por defecto la subida de archivos vCard (.vcf). Obtendrás un error «Lo siento, este tipo de archivo no está permitido por motivos de seguridad» al intentar subir uno a través de la biblioteca de medios.

Hay dos formas de solucionarlo.

Nota de seguridad

Los archivos vCard pueden contener código ejecutable. Habilita la subida solo desde fuentes de confianza y considera quién tiene acceso a tu biblioteca de medios de WordPress antes de abrir esta puerta.

Método 1: Plugin

Instala el plugin Enable virtual card upload – vcf,vcard (gratuito, más de 5.000 instalaciones activas, probado hasta WordPress 6.6 y PHP 8.3). Tras activarlo, ve a Medios → Añadir nuevo y los archivos vCard se subirán sin errores. Puedes subir varios archivos a la vez.

Esta es la opción más sencilla si no quieres tocar código.

Método 2: Fragmento de código

Añade esto a tu archivo functions.php (o usa FluentSnippets para gestionarlo sin editar directamente los archivos del tema):

php
function allow_vcard_upload($mime_types) {
    $mime_types['vcf']   = 'text/vcard';
    $mime_types['vcard'] = 'text/vcard';
    return $mime_types;
}
add_filter('upload_mimes', 'allow_vcard_upload');

Si usas FluentSnippets, configura el fragmento para que se ejecute solo en el área de administración, porque ahí es donde WordPress comprueba los tipos MIME durante la subida.

Fragmento de código de FluentSnippets para permitir la subida de vCard en la administración de WordPress

Tras añadir el código, ve a Medios → Añadir nuevo y sube tu archivo .vcf.

Mostrar el enlace de descarga de la vCard

Una vez subido, obtén la URL del archivo desde la biblioteca de medios (haz clic en el archivo y copia la URL del campo URL del archivo), y luego crea un enlace de descarga:

html
<a href="https://example.com/wp-content/uploads/2024/01/contact.vcf">Download contact card</a>

O como botón:

html
<button onclick="window.location.href='https://example.com/wp-content/uploads/2024/01/contact.vcf'">Download vCard</button>

En Gutenberg también puedes añadir el archivo directamente con el bloque Archivo, que genera un botón de descarga automáticamente.

Solución de problemas

Si las subidas siguen fallando tras habilitar la compatibilidad con vCard, revisa lo siguiente:

  • Restricciones del hosting: Algunos hostings gestionados de WordPress (como WP Engine o Kinsta) sobrescriben la configuración de tipos MIME a nivel de servidor. Contacta con su soporte para permitir text/vcard.
  • Plugins de seguridad: Plugins como Wordfence o Sucuri pueden bloquear tipos de archivo que consideran peligrosos. Revisa sus ajustes de subida de archivos.
  • WordPress multisitio: En multisitio, el administrador de la red controla los tipos de archivo permitidos en Administración de la red → Ajustes → Tipos de archivo de subida. Añade vcf a la lista.
  • Detección MIME de PHP: WordPress usa finfo_file() de PHP para verificar los tipos MIME. Si la base de datos MIME de tu servidor no reconoce los archivos .vcf, puede que necesites añadir define('ALLOW_UNFILTERED_UPLOADS', true); a wp-config.php temporalmente (quítalo después de subir, ya que desactiva todas las comprobaciones de tipo de archivo).