Ответ 1
В соответствии с контактными формами 7 Документов вы можете отключить "wpautop" для плагина, поместив в wp-config.php следующую константу:
define( 'WPCF7_AUTOP', false );
У меня есть следующий код внутри формы контакта 7 редактор
<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<div class="row">
<div class="col-sm-4">
[text* name class:border-field placeholder "Name"]
</div><!-- End of col -->
<div class="col-sm-4">
[email* email class:border-field placeholder "Email"]
</div><!-- End of col -->
<div class="col-sm-4">
[text subject class:border-field placeholder "Subject"]
</div><!-- End of col -->
</div><!-- ENd of row -->
</div><!-- End of col -->
</div><!-- ENd of row -->
<div class="row">
<div class="col-sm-8 col-sm-offset-2">
[textarea message class:border-field placeholder "Message"]
</div>
</div><!-- End of row -->
<div class="row text-center">
<div clas s="col-sm-12">
[submit class:btn class:btn-black-fill class:btn-small "Submit"]
</div><!-- End of col -->
</div><!-- End of row -->
Проблема заключается в том, что он добавляет случайные p-метки почти после каждого элемента, а также то, что первое текстовое поле по какой-то причине немного выше других двух полей, когда все они должны быть встроенными. И я думаю, что это не проблема css, потому что раньше я был закодирован в плоскости HTML, и все поля были встроенными, поэтому я думаю, что это должно быть что-то с контактной формой 7.
В соответствии с контактными формами 7 Документов вы можете отключить "wpautop" для плагина, поместив в wp-config.php следующую константу:
define( 'WPCF7_AUTOP', false );
Если редактирование wp-config.php
не является решением для вас, есть удобный фильтр. Поместите это в ваши functions.php
.
add_filter('wpcf7_autop_or_not', '__return_false');
Добавьте это в свой файл functions.php
function reformat_auto_p_tags($content) {
$new_content = '';
$pattern_full = '{(\[raw\].*?\[/raw\])}is';
$pattern_contents = '{\[raw\](.*?)\[/raw\]}is';
$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach ($pieces as $piece) {
if (preg_match($pattern_contents, $piece, $matches)) {
$new_content .= $matches[1];
} else {
$new_content .= wptexturize(wpautop($piece));
}
}
return $new_content;
}
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'reformat_auto_p_tags', 99);
add_filter('widget_text', 'reformat_auto_p_tags', 99);
Затем в редакторе сообщений скопируйте короткий код контакта 7 с помощью raw
shortcode
например.
[raw][contact-form-7 id="1" title="Contact Us"][/raw]
Я хотел бы кое-что сказать по этому поводу, когда мы хотим уменьшить форму автоматического P-тега, мы должны использовать фильтр ниже и просто написать код удара в function.php.
add_filter('wpcf7_autop_or_not', '__return_false');
Я перепробовал много ответов, но ничего не получалось...
В итоге я использовал простой CSS, чтобы специально нацеливать пустые теги P
в самой форме, как это:
.wpcf7-form p:empty { display: none; }
Это сработало для меня, и это простое решение.
Следуйте за ответом rnevius, поместите это в /wp -content/plugins/contact-form-7/wp-contact-form-7.php
if ( ! defined( 'WPCF7_AUTOP' ) ) {
define( 'WPCF7_AUTOP', false );
}
Обычно он уже существует с истинным значением, в этом случае просто замените false на true, и вы хорошо пойдете.