Как убрать тег <p> и <br> из формы Contact Form 7

29.11.2021

Если вы замечали, то Contact Form 7 самостоятельно добавляет теги <p> и <br> в своих формах, и все бы ничего, но для более сложных форм приходится использовать свою разметку с блоками <div> и тогда теги параграфа начинают портить всё.

Как убрать тег <p> и <br> из формы Contact Form 7

Вариант 1 – добавить параметр в конфиг wp-config.php

define( 'WPCF7_AUTOP', false );

Я категорически против такого решения. Нельзя в конфиг добавлять какие-то правила и параметры, которые не являются глобальными, а относятся просто к какому-то плагину или функционалу. И, тем более, если существуют другие варианты решения проблемы.

Вариант 2 – добавить фильтр в файл функций functions.php в шаблоне

add_filter('wpcf7_autop_or_not', '__return_false');

Это более правильный способ решения данной проблемы. Выносить данный код в какой-то отдельный плагин смысла не вижу, достаточно добавить его в файл функций functions.php в шаблоне активной темы.

Внутри формы получим только те теги, которые прописаны в админке.

Но нужно помнить, что все поля плагин Contact Form 7 автоматически помещает в span:

<span class="wpcf7-form-control-wrap text-name">
    <input type="text" name="text-name" ... >
</span>

где text-name – это имя поля, и у каждого контейнера span.wpcf7-form-control-wrap это будет дополнительный класс.

Все поля оборачиваются в span.wpcf7-form-control-wrap кроме кнопки Submit <input type="submit" ...>.

Это важно помнить при указании стилей для сообщений ошибок wpcf7-not-valid-tip – которые помещаются внутри этого же span в одном уровне с полем.

<span class="wpcf7-form-control-wrap text-name">
    <input type="text" name="text-name" ...">
    <span class="wpcf7-not-valid-tip" aria-hidden="true">The field is required.</span>
</span>

Так же это нужно учитывать при верстке шаблона на этапе верстки HTML.

Рекомендую к прочтению:

Оставить комментарий