Contact Form 7: перевод и проверка форм

Для каких версий: Baza Helper 1.1 и новее с Contact Form 7. Для перевода форм нужен Polylang, WPML или другой многоязычный плагин.

Инструмент Contact Form 7 в Baza Helper переводит формы и помогает с их повседневным обслуживанием: загружает скрипты только там, где есть форма, защищает от спама без стороннего сервиса, добавляет языковые теги для писем, сохраняет сведения о неотправленных письмах и проверяет каждую форму.

Инструмент появляется только при активном Contact Form 7. Для перевода используются языки Polylang или WPML. Пустые ячейки можно заполнить через любую службу перевода, настроенную в инструменте Translate.

Шаг 1: Создайте форму на основном языке

Откройте Contact > Contact Forms и отредактируйте форму как обычно. Специальная разметка не нужна. Baza Helper самостоятельно находит:

  • текст между тегами формы и подписи полей;
  • подсказки внутри полей и текст кнопки отправки;
  • варианты выпадающих списков, переключателей и флажков: в записи Label|value переводится только подпись;
  • текст согласия в [acceptance] вместе со ссылкой;
  • все сообщения формы, а также тему и текст письма посетителю.
<label class="field-name">[text* your-name placeholder "Name"]</label>
<label class="field-email">[email* your-email placeholder "Email"]</label>
<label class="field-text">[textarea* your-text x3 placeholder "Message"]</label>
[acceptance acceptance-privacy]I agree to the <a href="/privacy-policy/">privacy policy</a> and consent to the processing of my personal data.[/acceptance]
[submit "Send"]

Значения текстовых полей по умолчанию, параметры class и id, а также письмо владельцу сайта остаются без изменений. Письмо владельцу сайта сохраняет язык сайта.

Шаг 2: Откройте инструмент

Перейдите в Baza Helper > Contact Form 7. В карточке Translated forms находится таблица: каждый текст формы занимает отдельную строку, каждый язык сайта — отдельный столбец. Убедитесь, что включены Translate the forms и Find the texts without braces.

Шаг 3: Заполните переводы

  1. Нажмите Translate the empty cells, чтобы получить варианты от инструмента Translate, или введите переводы самостоятельно.
  2. Если раньше вы использовали строки Polylang, нажмите Import from Polylang strings, чтобы импортировать их.
  3. Проверьте ячейки и нажмите Save. Кнопки выше заполняют только пустые ячейки и не перезаписывают введённый вами текст.

Перевод может содержать HTML. Например, в тексте согласия можно указать отдельную ссылку для каждого языка: /de/datenschutz/ для немецкого.

Совет: одинаковый текст из нескольких форм переводится один раз. Во всех формах записывайте ссылку в тексте согласия одинаково, например /privacy-policy/. Иначе для каждого варианта появится отдельная строка.

Шаг 4: Проверьте результат

Откройте страницу с формой на каждом языке. Посетитель видит форму на языке страницы; при отправке этот язык сохраняется. Если перевод текста отсутствует, показывается исходный текст на основном языке. Сама форма в редакторе не изменяется.

Шаг 5: Переведите текст, который не находит автоматический поиск

Если текст находится в области, которую поиск пропускает, например в письме владельцу сайта, заключите его в фигурные скобки: {Message from the site}. Он будет переведён и показан без скобок. Чтобы использовать только такой способ разметки, выключите Find the texts without braces.

Ключом перевода служит точный исходный текст. Если вы измените текст в форме, перевод потребуется заполнить заново: в таблице появится пустая ячейка.

Скорость загрузки и разметка

В карточке Speed and tidiness можно:

  • загружать скрипты Contact Form 7, reCAPTCHA и Turnstile только на страницах с формой;
  • отключить загрузку стилей Contact Form 7, если оформление форм уже задаёт тема;
  • отключить автоматические абзацы и переносы строк, чтобы форма выводилась точно по вашей разметке. После включения проверьте её внешний вид.

Защита от спама без стороннего сервиса

В карточке Spam включите Block spam without a service. Скрытое от посетителей поле и проверка минимального времени между показом и отправкой формы помогают выявлять ботов. Укажите минимальное время заполнения в секундах. Пока кеш страницы не очищен, посетители могут получать старую копию формы; такая форма не проверяется.

Почта

  • Почтовые теги. Добавьте [_language] или [_language_name] в тему или текст письма, чтобы видеть язык отправленной формы.
  • Неотправленные письма. Инструмент хранит сведения о последних 30 письмах, которые не удалось отправить: форму, время и причину ошибки. Данные посетителей по-прежнему сохраняются в записях отправленных форм.

Проверка форм

Последняя карточка проверяет каждую форму и показывает, что можно исправить:

  • не указан получатель письма — ошибка;
  • отправитель использует другой домен или в качестве отправителя указан адрес посетителя — предупреждение;
  • отсутствует Reply-To, флажок согласия или защита от спама;
  • для части языков сайта отсутствуют переводы;
  • страницы, на которых размещена форма, со ссылками на их редактирование.

Если замечаний нет, рядом с формой показывается Nothing to improve.

Последнее изменение: 01.11.2026