Wie kann ich den Span-Wrapper im Kontaktformular 7 entfernen?

9

Ich verwende das Kontaktformular 7 in meinem WordPress Theme.

Es gibt momentan span und input zurück:

%Vor%

Aber ich brauche nur input :

%Vor%

Wie kann ich den span -Wrapper entfernen?

    
Elena 27.09.2016, 18:09
quelle

4 Antworten

12

Ich hatte das gleiche Problem und konnte schließlich mit dem wpcf7_form_elements -Filter das <span> -Tag mit einer Regex entfernen. Sie können diesen Code beispielsweise kopieren und in Ihre functions.php -Datei einfügen. Hier übergebe ich eine anonyme Funktion als Callback, also sei sicher, PHP & gt; = 5.3 zu haben.

%Vor%     
Guicara 22.01.2017 18:00
quelle
3

Sie können den Spannen-Wrapper mit jQuery entfernen:

%Vor%

Es wird das Elternelement der Eingabe entfernen, in diesem Fall wird also die Spanne entfernt. Beachten Sie, dass nach dem Entfernen des Bereichs einige Funktionen von Kontaktformular 7 möglicherweise nicht ordnungsgemäß funktionieren. Zum Beispiel funktioniert die Validierung möglicherweise nicht.

%Vor% %Vor% %Vor%
    
Paweł Janicki 27.09.2016 19:00
quelle
2

Ich habe neulich ähnliches Zeug probiert und viele Leute haben erwähnt, dass Regex nicht der richtige Weg ist, um HTML / Remove-Tags usw. zu ändern und es klingt logisch .

Also ging ich zu DOMDocument und kam zu folgender Lösung:

%Vor%

BEARBEITEN: Ich habe jetzt auch etwas HTML / Text zu meinem Formular hinzugefügt, und das erste Überschriftenelement wurde nicht korrekt umbrochen, nachdem ich die DOMDocument-Klasse verwendet habe. Es begann in der ersten Zeile und endete am Ende des Formulars. also habe ich mein gesamtes Formular in ein div eingepackt, was das Markup wieder richtig zurückgebracht hat.

    
honk31 30.11.2017 17:52
quelle
1

Ab WPCF7 Version 4.9, Anpassung der obigen Antwort, damit die Fehlermeldung nicht verloren gehen kann:

Umschließen Sie zunächst im Editor des CMS Ihr Eingabefeld und alle anderen Elemente, die Sie gruppieren möchten, zum Beispiel:

%Vor%

Beachten Sie, dass Sie die Klasse "wpcf7-form-control-wrap" und eine Klasse verwenden müssen, die Ihrem Feldnamen entspricht.

Als nächstes benutze diesen Regex-Code in deinem functions.php . Es muss möglicherweise für Ihre spezifischen Bedürfnisse angepasst werden

%Vor%

Dadurch wird das span-Tag um das Eingabefeld entfernt, während das neue span-Tag intakt bleibt. Der Effekt besteht darin, das span-Tag im Wesentlichen nur um das Eingabefeld herum zu bewegen, und zwar unabhängig davon, welche Elemente Sie umbrechen möchten.

Der Grund dafür ist, dass der Code für die Formularübergabe leider sehr hart codiert ist. Um die Struktur Ihres HTML vollständig zu verändern, müssten Sie entweder:

  1. Ändern Sie den Code in rest-api.php um Zeile 295, um den "in" -Wert in etwas weniger Spezifisches zu ändern. Natürlich ist dies keine empfohlene Route, obwohl Sie die Freiheit haben, Ihre Inhalte nach Ihren Wünschen zu strukturieren. Es wird mit Plugin-Updates überschrieben.

    %Vor%
  2. Tippen Sie auf das Ereignis wpcf7: invalid und führen Sie Ihren eigenen Validierungscode für das Ergebnis aus. Es erübrigt sich zu sagen, dass dies eine Menge der Arbeit dupliziert, die das Plugin bereits für Sie tut, wenn Sie (vorerst) ein Span-Tag mit der "wpcf7-form-control-wrap" -Klasse in der oben beschriebenen Weise akzeptieren behält alle Funktionen von das Plugin beim Rückgängigmachen einer der lästigsten harten Kodierungen des Plugins.

niaccurshi 03.09.2017 14:38
quelle

Tags und Links