Wie ändert man die URL für die Formularaktion für das Kontaktformular 7?

7

Ich verwende Kontaktformular 7 in einer Wordpress-Site mit mehreren Formularen. Ich muss ein Formular auf eine andere Formularaktions-URL verweisen als die anderen.

Ich habe die Antwort unten für einen früheren Thread gefunden, aber ich bin mir nicht sicher, wie ich das anstellen soll. Kann jemand angeben, welcher genaue Code in "zusätzliche Einstellungen" eingefügt werden muss? und wie würde der Code in functions.php aussehen?

Danke für Ihre Hilfe!

Antwort von Diff. Thread, den ich nicht ganz verstehe ...

* Ja, Sie müssen das Attribut "action" im Formular mit diesem Filter Hook wpcf7_form_action_url ändern. (was wäre der Code?) Sie könnten den Hook in die functions.php Ihres Themas einfügen und dann die Formulardaten einfach auf Ihrer ASP-Seite verarbeiten. (code?) *

user1102824 06.01.2013, 00:07
quelle

2 Antworten

26

Da Sie mit PHP-Code überhaupt nicht vertraut sind, gebe ich Ihnen einen kurzen Absturzkurs in der Programmierung innerhalb der Wordpress-API.

Zunächst müssen Sie den Unterschied zwischen Funktionen und Variablen kennen. Eine Variable ist eine einzelne Entität, die einen beliebigen Wert repräsentieren soll. Der Wert kann alles sein. Eine Nummer, jemandes Name oder komplexe Daten.

Eine Funktion ist etwas, das eine Reihe von Aktionen ausführt, um entweder eine Variable zurückzusenden oder zurückzugeben <- eine Variable oder eine Variable zu ändern.

%Vor%

Wordpress verwendet sein eigenes Aktions- und Filtersystem auf der Grundlage des Event-Driven Programming -Stils.

>

Was das bedeutet ist, dass Wordpress auf ein bestimmtes Ereignis "hört" und wenn dies der Fall ist, führt es eine Funktion aus, die diesem Ereignis zugeordnet ist (auch bekannt als Callback). Dies sind die "Aktionen" und "Filter". Also, was ist der Unterschied?

Aktionen sind Funktionen, die Dinge tun
Filter sind Funktionen, die Dinge zurückgeben

Wie passt das alles zu Ihrem Problem?

Das Kontaktformular 7 hat einen eigenen Filter, der die URL zurückgibt, an die Informationen von seinen Formularen gesendet werden sollen.

Sehen wir uns also die Grundlagen eines Filter-Hooks

an %Vor%
  1. add_filter ist die Funktion, die Wordpress sagt, dass es zuhören muss für ein bestimmtes Ereignis.
  2. 'hook_name' ist das Ereignis, auf das Wordpress wartet.
  3. 'your_filter' ist die Funktion - oder Callback - die aufgerufen wird, wenn das Ereignis 'hook_name' ausgelöst wird.

Der Link zum vorherigen Thread besagt, dass der verwendete Hook-Name 'wpcf7_form_action_url' lautet. Das bedeutet, dass Sie lediglich einen Aufruf von add_filter durchführen, den Namen "hook_name" auf "wpcf7_form_action_url" setzen und dann "your_filter" auf den Namen der Funktion setzen müssen, die Sie als Callback einrichten möchten.

>

Sobald dies erledigt ist, müssen Sie nur eine Funktion mit einem Namen definieren, der mit dem übereinstimmt, was Sie anstelle von "your_filter" angeben, und stellen Sie lediglich sicher, dass sie eine URL zum Ändern der Formularaktion zurückgibt.

Jetzt kommt das Problem: Das wird ALLE Ihre Formulare ändern. Aber das Wichtigste zuerst: Sehen Sie, ob Sie einen eigenen Arbeitscode bekommen können. Schreiben Sie einfach Ihren Code in functions.php und lassen Sie uns wissen, wie sich herausstellt.

UPDATE:

Die Tatsache, dass Sie es so schnell geschafft haben, ist wundervoll und zeigt die Menge an Forschungsanstrengungen, die Sie in dieses Thema stecken.

Setzen Sie all dies in functions.php

%Vor%

Wie bereits erwähnt, betrifft das ALLE Ihre Formulare. Wenn dies nur ein Formular auf einer bestimmten Seite beeinflussen soll, können Sie Folgendes tun:

%Vor%

Sie müssen lediglich den Wert von $ id_to_change in eine Zahl ändern, die die ID der Post / Seite darstellt, die Sie beeinflussen möchten. Wenn Sie also zum Beispiel eine Info-Seite haben, auf der Sie die Aktions-URL ändern möchten, finden Sie die ID-Nummer Ihrer Info-Seite im Admin-Dashboard (gehen Sie einfach zum Seiteneditor und suchen Sie in Ihrer URL nach der ID Nummer) und ändern Sie die 1 zu was auch immer die ID-Nummer ist.

Hoffe, das hilft Ihnen und viel Glück für Sie.

    
maiorano84 06.01.2013 04:00
quelle
0

Sie können Aktionen nach einer erfolgreichen Übermittlung hinzufügen, wie in der Dokumentation

angegeben

Das Hinzufügen eines Filters funktioniert in dem Sinne, dass es die Aktion auf dem Formular ändert, aber leider auch die Funktionalität des Plugins. Wenn Sie den Filter wie bei anderen Antworten hinzufügen, wird das Formular nach dem Abschicken den Zustand des Spinner beibehalten.

Sie können festlegen, dass das Formular beim Senden etwas anderes tut, indem Sie erweiterte Einstellungen wie beispielsweise

verwenden %Vor%

Weitere Details zu den erweiterten Einstellungen hier .

    
pcatre 13.06.2016 14:16
quelle