Cómo desactivar autocompletado en inputs de Contact Form 7
Tengo el siguiente código para Contact Form 7. Normalmente uso autocomplete="off"
para campos de entrada HTML. Sin embargo, no logro hacer lo mismo con Contact Form 7
<div class="row">
<div class="col-md-6">
[text* FirstName placeholder "Nombre"]
</div>
<div class="col-md-6">
[text* LastName placeholder "Apellido"]
</div>
<div class="col-md-12">
[email* EmailAddress placeholder "Correo electrónico"]
</div>
<div class="col-md-12">
[text* desc placeholder "Cuéntanos un poco sobre ti..."]
</div>
<div class="col-md-12">
[submit "Enviar"]
</div>
</div>

Según la pregunta y respuesta del desarrollador publicada aquí: https://wordpress.org/support/topic/autocomplete-off-3/
Solo necesitas añadir la opción autocomplete:off
al shortcode:
[email your-email autocomplete:off "example@example.com"]
Aunque si el plugin no ha sido actualizado como se menciona en esa pregunta para usar autocomplete:false, Chrome podría ignorarlo aún. Si no funciona todavía, puede que necesites solicitar soporte al autor del plugin. La función autocomplete se añadió a este plugin en la versión 4.5.

El autocompletado de etiquetas en la configuración de formularios ya no funciona (en la versión actual del plugin Contact Form 7 5.1.3
).
La única solución que funcionó para mí fue agregar atributos personalizados gracias a https://stackoverflow.com/a/46316728/1720476.
Por ejemplo, si tienes campos como Nombre
y Apellido
donde deseas desactivar el autocompletado.
Añade esto en el archivo functions.php
:
add_filter( 'wpcf7_form_elements', 'imp_wpcf7_form_elements' );
function imp_wpcf7_form_elements( $content ) {
$str_pos = strpos( $content, 'name="Nombre"' );
if ($str_pos) {
$content = substr_replace( $content, ' autocomplete="both" autocomplete="off" ', $str_pos, 0 );
}
$str_pos = strpos( $content, 'name="Apellido"' );
if ($str_pos) {
$content = substr_replace( $content, ' autocomplete="both" autocomplete="off" ', $str_pos, 0 );
}
return $content;
}

La respuesta sugerida por Arnis funciona si estás utilizando el mismo formulario en todo tu sitio, sin embargo, inyectará texto en formularios que no tengan todos los campos objetivo en tu archivo functions.php.
Para una nueva solución sugerida:
Configurar el atributo "autocomplete" del input o textarea a una variable aleatoria que no sea un valor estándar parece funcionar a partir de diciembre de 2019 para Chrome, no estoy seguro de por qué la opción nativa de CF7 para desactivar el autocompletado no se ha actualizado.
Puedes definir este atributo con una simple línea de jQuery como:
$("input.wpcf7-form-control, textarea.wpcf7-form-control").attr("autocomplete", "negative");
Esto apunta a la clase predeterminada para los campos de CF7.
Edición: olvidé mencionar, esto requiere conocimiento sobre dónde añadir scripts js personalizados, la mayoría de temas premium soportan una sección de JS personalizado o simplemente añade la línea al archivo js principal de tu tema hijo.
