wordpress 联系表格7自动添加p标签

rdrgkggo  于 2022-11-22  发布在  WordPress
关注(0)|答案(6)|浏览(243)

我有下一个代码里面联系表格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的问题。

qlckcl4x

qlckcl4x1#

根据Contact Form 7 Docs,您可以通过在 wp-config.php 中放置以下常量来禁用插件的“wpautop”:

define( 'WPCF7_AUTOP', false );
46qrfjad

46qrfjad2#

如果编辑wp-config.php不适合你,这里有一个方便的过滤器。把它放在你的functions.php中:

// Remove <p> and <br/> from Contact Form 7
add_filter('wpcf7_autop_or_not', '__return_false');
pgccezyw

pgccezyw3#

我想说的是,当我们想减少自动P标签的形式,我们应该去下面的过滤器,只是写在function.php吹代码。

add_filter('wpcf7_autop_or_not', '__return_false');
yebdmbv4

yebdmbv44#

我试了很多答案,但都不管用所以...
最后我使用简单的CSS专门针对空的P标记
在形式上是这样的:

.wpcf7-form p:empty { display: none; }

这对我很有效,这是一个简单的解决方案。

ldfqzlk8

ldfqzlk85#

将其添加到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);

然后在你的职位编辑器 Package 你的联系表7短代码与raw短代码
例如:

[raw][contact-form-7 id="1" title="Contact Us"][/raw]
ego6inou

ego6inou6#

这个也可以用WordPress 5.7,PHP 7.4,Contact Form 7 v5.4测试。

<?php
add_filter('wpcf7_autop_or_not', false);

可能存在需要使用__return_false实用函数的情况(旧版本的WP、PHP?)。

相关问题