Skip to content

Alles für WordPress, Webentwicklung — und mehr

🚀 So fügen Sie den Seitentitel dynamisch in den E-Mail-Betreff von Contact Form 7 ein

🚀 So fügen Sie den Seitentitel dynamisch in den E-Mail-Betreff von Contact Form 7 ein

Ihre Website hat ein Dutzend Seiten mit einem Kontaktformular, und jede E-Mail kommt mit derselben Betreffzeile „Message from site" an. Aus welchem Bereich hat der Besucher geschrieben? Von welcher Leistungsseite? Am Ende raten Sie anhand des Nachrichtentexts.

Contact Form 7 ist mit über 10 Millionen aktiven Installationen der Standard für WordPress-Formulare. Allerdings kann es von Haus aus nicht erkennen, von welcher Seite ein Formular abgesendet wurde. E-Mail-Betreff und -Text müssen statisch konfiguriert werden, sodass ein einziges, seitenübergreifend genutztes Formular identische Nachrichten erzeugt.

Die Dynamic Text Extension (DTX) löst dieses Problem in fünf Minuten, ohne eine einzige Zeile PHP. Sie fügen dem Formular ein verstecktes Feld hinzu, das automatisch den Seitentitel, die URL oder den Slug erfasst. Anschließend geben Sie diese Variable über die Vorlage im E-Mail-Betreff oder -Text aus. Nachfolgend eine Schritt-für-Schritt-Anleitung von Grund auf.

💡 Kurzüberblick:

  • Installieren Sie DTX aus dem WordPress.org-Verzeichnis und aktivieren Sie es zusammen mit Contact Form 7
  • Fügen Sie Ihrem Formular ein verstecktes [dynamichidden]-Tag mit dem Shortcode CF7_get_post_var hinzu
  • Setzen Sie die Variable im Reiter „E-Mail" in den Betreff oder den Nachrichtentext ein
  • Testen Sie die Funktion, indem Sie das Formular von zwei verschiedenen Seiten aus absenden; die E-Mails treffen mit unterschiedlichen Betreffzeilen ein
  • Bei Bedarf ergänzen Sie die Seiten-URL oder GET-Parameter nach demselben Mechanismus

Schritt 1: Installation der Dynamic Text Extension

Kontaktformular 7 Dynamic Text Extension Plugin-Seite im WordPress.org-Verzeichnis

Zunächst das Plugin selbst. Es ist kostenlos und im WordPress.org-Verzeichnis unter dem Namen Contact Form 7, Dynamic Text Extension verfügbar.

Die Installation erfolgt standardmäßig: Plugins → Installieren → nach „Dynamic Text Extension" suchen → Installieren → Aktivieren. Contact Form 7 sollte bereits aktiv sein, da DTX dieses speziell erweitert; ohne CF7 hat es keinen Zweck.

Beachten Sie, dass das Plugin aktiv gepflegt wird. Stand Juni 2026 verzeichnet es über 100.000 aktive Installationen, eine Bewertung von 4,5 auf WordPress.org und Kompatibilität mit der aktuellen WordPress-Version. Der Autor, Chris Mav, entwickelt auch UberMenu. Dies ist keines dieser Plugins, die nach der ersten Veröffentlichung aufgegeben werden.

Schritt 2: Ein verstecktes Feld zum Formular hinzufügen

Nun zur Konfiguration innerhalb von Contact Form 7. Öffnen Sie das zu bearbeitende Formular: Kontakt → Kontaktformulare → klicken Sie auf den Formularnamen. Sie befinden sich im Reiter Formular.

Kopieren Sie diesen Code und fügen Sie ihn im Formularrumpf nach Ihren Hauptfeldern, aber vor dem Absende-Button ein:

1[dynamichidden page-title "CF7_get_post_var key='title'"]

Hier ist, was passiert. dynamichidden ist ein DTX-Feldtyp: für den Besucher unsichtbar, aber in der Übermittlung enthalten. page-title ist der interne Variablenname (frei wählbar, aber aussagekräftig). Innerhalb der Anführungszeichen ruft der Shortcode CF7_get_post_var key='title' den aktuellen WordPress-Seitentitel über das globale $post-Objekt ab.

Wenn Sie anstelle des Titels die Seiten-URL benötigen, ersetzen Sie den inneren Shortcode durch CF7_URL:

1[dynamichidden page-url "CF7_URL"]

Für den Slug verwenden Sie CF7_get_post_var key='slug':

1[dynamichidden page-slug "CF7_get_post_var key='slug'"]

Sie können alle drei Felder gleichzeitig hinzufügen, dann sehen Sie Titel, URL und Slug in der E-Mail. Klicken Sie unterhalb des Formulareditors auf Speichern.

Schritt 3: Die Variable in der E-Mail-Vorlage ausgeben

Der letzte Schritt besteht darin, Contact Form 7 mitzuteilen, wo die erfassten Daten eingefügt werden sollen. Wechseln Sie im Formular in den Reiter E-Mail.

Fügen Sie im Feld Betreff den Variablennamen in eckigen Klammern hinzu:

1[page-title]

Der vollständige Betreff könnte so aussehen: Message: [page-title]. Oder, falls Sie die URL ergänzt haben: Inquiry from page: [page-url].

Derselbe Ansatz funktioniert im Feld Nachrichtentext. Sie können die Variable [page-title] an beliebiger Stelle in der Vorlage einfügen, vor oder nach dem Hauptnachrichtentext:

1Submission page: [page-title]
2URL: [page-url]
3
4Message:
5[your-message]

Die Variablen page-title, page-url und page-slug sind exakt die Namen, die Sie im vorherigen Schritt in den [dynamichidden]-Tags vergeben haben. Sie müssen genau übereinstimmen.

Speichern Sie das Formular und testen Sie: Öffnen Sie zwei beliebige Seiten Ihrer Website, die dieses Formular enthalten, und senden Sie von jeder eine Testnachricht. Die E-Mails treffen mit unterschiedlichen Betreffzeilen ein, abhängig vom Titel der Seite, auf der sich der Besucher befand.

GET-Parameter nutzen

DTX kann Parameter aus der URL auslesen, was nützlich ist, wenn Sie zusätzliche Informationen per Link übergeben. Beispielsweise könnte ein Button „Beratung bestellen" auf einer Preisseite auf /contact/?plan=pro verlinken. Der Shortcode dafür:

1[dynamichidden selected-plan "CF7_GET key='plan'"]

Verwenden Sie in der E-Mail-Vorlage [selected-plan]. Das Formular fügt automatisch den Wert pro aus dem Query-String ein.

Dieselbe Technik funktioniert für UTM-Tags, Kampagnenkennungen und alle anderen Parameter, die Sie in der URL übergeben.

In diesem Video demonstriert Plugin-Autor Chris Mav die grundlegende DTX-Einrichtung in drei Minuten, von der Installation bis zum ersten dynamischen Feld. Falls einer der obigen Schritte Fragen aufwirft, sehen Sie es sich an: Alle Aktionen werden in Echtzeit auf dem Bildschirm gezeigt.

Was tun, wenn das Formular auf allen Seiten erscheint, Sie aber unterschiedliche Titel benötigen

Das oben beschriebene Grundszenario deckt die allermeisten Fälle ab: ein Formular, Seitentitel im E-Mail-Betreff. Doch was, wenn Sie Dutzende Seiten haben, jede mit eigenem Formular und individuellem Feldsatz? DTX für jedes manuell zu erstellen und zu konfigurieren, kostet Zeit.

Hier sind drei Szenarien nach steigender Komplexität:

  • Ein Formular auf allen Seiten. Der Idealfall für DTX: Sie fügen das versteckte Feld einmal hinzu, und der E-Mail-Betreff übernimmt [page-title]. Die Einrichtung dauert fünf Minuten.

  • Mehrere unterschiedliche Formulare. Konfigurieren Sie DTX in jedem Formular separat, kopieren Sie die Tags jedoch per Zwischenablage zwischen den Formularen. Das versteckte Feld mit CF7_get_post_var funktioniert in allen Formularen gleich.

  • Dutzende Seiten + A/B-Tests. Wenn Sie Seiten nicht nur unterscheiden, sondern Formular-Conversions tracken müssen, ziehen Sie Gravity Forms oder WPForms in Betracht. Diese bieten integrierte Übermittlungsanalysen und bedingte Benachrichtigungsweiterleitung. DTX ist hier kein Wettbewerber; es löst eine spezifische Aufgabe (dynamische Felder) und das kostenlos.

⁉️🤔 Häufig gestellte Fragen

Funktioniert DTX mit der aktuellen WordPress-Version?

Ja, das Plugin ist mit WordPress 6.7+ kompatibel und erhält regelmäßige Updates. Stand Juni 2026 veröffentlicht der Autor alle ein bis zwei Monate Updates, das letzte im Mai 2026. Prüfen Sie die Version auf der Plugin-Seite, dort ist die aktuelle Kompatibilität stets aufgeführt.

Kann ich den Titel einer bestimmten Seite einfügen, statt der aktuellen?

CF7_get_post_var bezieht Daten aus dem globalen $post-Objekt, das sich auf die Seite bezieht, auf der das Formular angezeigt wird. Um den Titel einer anderen Seite einzufügen, geben Sie deren ID an: CF7_get_post_var key='title' post_id='42'. Die Seiten-ID finden Sie im Admin: Seiten → Alle Seiten → fahren Sie mit der Maus über den Titel, die ID erscheint in der URL.

Was tun, wenn die Variable nicht in der E-Mail erscheint?

Prüfen Sie drei Dinge. Erstens: Stimmen die Namen überein? Der Attributwert in [dynamichidden name ...] und die Variable [name] in der Vorlage müssen identisch sein, einschließlich Groß- und Kleinschreibung. Zweitens: Ist der CF7-Shortcode in unterschiedliche Anführungszeichenarten eingeschlossen? Innerhalb doppelter Anführungszeichen müssen DTX-Attribute einfache Anführungszeichen verwenden ("CF7_get_post_var key='title'"). Drittens: Ist Contact Form 7 selbst aktiv? Ohne CF7 funktioniert DTX nicht.

Warum ein verstecktes Feld verwenden, wenn ich den Titel einfach in den Betreff tippen könnte?

Das versteckte Feld automatisiert den Prozess. Wenn Sie ein Formular auf zehn Seiten haben, müssten Sie ohne DTX zehn Formularkopien mit unterschiedlichen Betreffzeilen erstellen oder den Betreff für jede Seite manuell ändern. DTX erledigt das für Sie: Sie fügen das versteckte Feld einmal hinzu, und der E-Mail-Betreff passt stets zur Absendeseite.

Kann ich DTX nutzen, um sichtbare Felder vorzubelegen?

Ja, ersetzen Sie dynamichidden durch dynamictext oder dynamicemail. Beispielsweise wird [dynamictext user-name "CF7_get_current_user key='user_nicename'"] das Feld mit dem Namen des eingeloggten Benutzers vorbelegen. Der Besucher sieht den vorbelegten Wert und kann ihn vor dem Absenden bearbeiten.

Verursacht das Plugin Konflikte mit Caching?

Nein. DTX fügt Werte serverseitig beim Rendern der Seite ein, daher beeinträchtigen Cache-Plugins wie WP Rocket es nicht. Wenn Sie serverseitiges Caching (Varnish, Nginx FastCGI) einsetzen, stellen Sie sicher, dass Seiten mit Formularen vom Cache ausgeschlossen sind; andernfalls könnte der Titel beim ersten Besucher „kleben bleiben".

Beginnen Sie mit dem ersten Szenario: Installieren Sie DTX, fügen Sie Ihrem aktuellen Formular ein verstecktes Feld hinzu und testen Sie E-Mails von zwei verschiedenen Seiten. Neun von zehn Websites hören hier auf, weil der Bedarf an komplexerer Logik schlichtweg nie entsteht.