it-swarm.com.de

Kontaktformular 7 automatisch hinzugefügte p-Tags

Ich habe nächsten Code in Kontaktformular 7 Editor 

<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 -->

Das Problem ist, dass es beinahe nach jedem Element zufällige p-Tags hinzufügt und dass das erste Textfeld aus irgendeinem Grund etwas über den beiden anderen Feldern liegt, wenn sie alle inline sein sollten. Und ich denke, das ist kein CSS-Problem, weil ich vorher diese Ebene in HTML-Ebene kodiert hatte und alle Felder inline waren. Ich denke, es muss etwas mit dem Kontaktformular 7 sein.

19
Nenad Vracar

Gemäß dem Contact Form 7 Docs können Sie "wpautop" für das Plugin deaktivieren, indem Sie die folgende Konstante in wp-config.php platzieren:

define( 'WPCF7_AUTOP', false );
48
rnevius

Wenn das Bearbeiten von wp-config.php Nicht die Lösung für Sie ist, gibt es einen praktischen Filter. Gib es in deinen functions.php Ein.

add_filter('wpcf7_autop_or_not', '__return_false');

39
skip405

Fügen Sie dies in Ihre Datei "functions.php" ein

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);

Dann verpacken Sie in Ihrem Post-Editor Ihr Kurzformular für Ihr Kontaktformular 7 mit raw Kurzcode

z.B.

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

Ich möchte etwas dazu sagen, wenn wir die automatische P-Tag-Form reduzieren möchten, sollten wir mit dem Filter unten gehen und einfach den Blow-Code in function.php schreiben.

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

Ich habe viele Antworten ausprobiert, aber nichts hat funktioniert also ...
Am Ende benutzte ich einfaches CSS, um gezielt leere P-Tags anzuvisieren
in der form selbst wie folgt: 

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

Das hat für mich funktioniert und es ist eine einfache Lösung.

0
Sagive SEO