Как отключить автозаполнение для входных данных в контактной форме 7? [закрыто]
У меня ниже приведен код для контактной формы 7. Обычно я использую autocomplete="off"
для поля ввода html. Однако не могу понять, как сделать то же самое для контактной формы 7
<div class="row">
<div class="col-md-6">
[text* FirstName placeholder "First Name"]
</div>
<div class="col-md-6">
[text* LastName placeholder "Last Name"]
</div>
<div class="col-md-12">
[email* EmailAddress placeholder "Email Address"]
</div>
<div class="col-md-12">
[text* desc placeholder "Tell us a bit about yourself..."]
</div>
<div class="col-md-12">
[submit "Submit"]
</div>
</div>
3 answers
Тег автозаполнения в настройках формы больше не работает (как и сегодня, версия плагина Contact Form 7 5.1.3
.
Единственным решением, которое сработало для меня, было добавление пользовательских атрибутов благодаря https://stackoverflow.com/a/46316728/1720476.
Например, если у вас есть поля FirstName
и LastName
, в которых вы хотите отключить автозаполнение.
Добавьте это в файл functions.php
:
add_filter( 'wpcf7_form_elements', 'imp_wpcf7_form_elements' );
function imp_wpcf7_form_elements( $content ) {
$str_pos = strpos( $content, 'name="FirstName"' );
if ($str_pos) {
$content = substr_replace( $content, ' autocomplete="both" autocomplete="off" ', $str_pos, 0 );
}
$str_pos = strpos( $content, 'name="LastName"' );
if ($str_pos) {
$content = substr_replace( $content, ' autocomplete="both" autocomplete="off" ', $str_pos, 0 );
}
return $content;
}
В соответствии с вопросом и ответом разработчика, размещенными здесь: https://wordpress.org/support/topic/autocomplete-off-3/
Вам просто нужно добавить опцию autocomplete:off
в шорткод:
[email your-email autocomplete:off "[email protected]"]
Хотя, если плагин не был обновлен, как указано в этом вопросе, для использования автозаполнения: ложный Chrome все еще может игнорировать его. Если это еще не работает, вам может потребоваться обратиться за поддержкой к автору плагина. Автозаполнение было добавлено в этот плагин в версии 4.5.
Предложенный ответ Арниса работает, если вы используете одну и ту же форму на всем своем сайте, однако он будет вводить текст в формы, в которых не все поля указаны в вашем functions.php файл.
Для нового предлагаемого решения:
Установка атрибута ввода или текстовой области "автозаполнение" в случайную переменную, которая не является стандартным значением, по-видимому, делает свое дело с декабря 2019 года для Chrome, не уверен, почему встроенная опция CF7 для отключения автозаполнения не была обновленный.
Вы можете определить этот атрибут с помощью простой строки jQuery, например:
$("input.wpcf7-form-control, textarea.wpcf7-form-control").attr("autocomplete", "negative");
Этот класс предназначен для полей CF7 по умолчанию.
Редактировать: забыл упомянуть, что для этого требуются знания о том, где добавлять пользовательские сценарии js, большинство тем премиум-класса поддерживают пользовательский раздел JS или просто добавляют строку в основной файл js вашей дочерней темы.