
🚀 Hur du dynamiskt infogar sidans titel i Contact Form 7 e-postämne
Din webbplats har ett dussin sidor med ett kontaktformulär, och varje mejl kommer med samma ämnesrad "Message from site." Från vilken avdelning skrev besökaren? Vilken tjänstesida? Du får gissa utifrån meddelandetexten.
Contact Form 7 är standarden för WordPress-formulär med över 10 miljoner aktiva installationer. Men direkt ur kartongen kan det inte avgöra från vilken sida ett formulär skickades. Mejlets ämne och innehåll måste konfigureras statiskt, så ett och samma formulär som används på flera sidor producerar identiska meddelanden.
Dynamic Text Extension (DTX)-tillägget löser detta på fem minuter utan en enda rad PHP. Du lägger till ett dolt fält i formuläret, och det fångar automatiskt upp sidans titel, URL eller slug. Sedan matar du ut den variabeln i mejlets ämnesrad eller innehåll via mallen. Nedan följer en steg-för-steg-guide från grunden.
💡 Snabb översikt:
- Installera DTX från WordPress.org-katalogen och aktivera det tillsammans med Contact Form 7
- Lägg till en dold
[dynamichidden]-tagg med shortcodenCF7_get_post_vari ditt formulär - Infoga variabeln i mejlets ämnesrad eller innehåll via fliken "Mail"
- Testa genom att skicka från två olika sidor; mejlen anländer med olika ämnesrader
- Lägg vid behov till sidans URL eller GET-parametrar med samma mekanism
Steg 1: Installera Dynamic Text Extension

Först själva tillägget. Det är gratis och finns i WordPress.org-katalogen under namnet Contact Form 7, Dynamic Text Extension.
Installationen är standard: Plugins → Add New → sök efter "Dynamic Text Extension" → Install → Activate. Du bör redan ha Contact Form 7 aktivt eftersom DTX utökar just det; utan CF7 fyller det ingen funktion.
Observera att tillägget aktivt underhålls. I juni 2026 har det över 100 000 aktiva installationer, ett betyg på 4,5 på WordPress.org och kompatibilitet med den senaste WordPress-versionen. Utvecklaren, Chris Mav, ligger också bakom UberMenu. Det här är inte ett av de tillägg som överges efter första releasen.
Steg 2: Lägga till ett dolt fält i formuläret
Nu till konfigurationen inuti Contact Form 7. Öppna formuläret du vill redigera: Contact → Contact Forms → klicka på formulärets namn. Du befinner dig på fliken Form.
Kopiera den här koden och klistra in den i formulärkroppen efter dina huvudfält men före skicka-knappen:
1 [dynamichidden page-title "CF7_get_post_var key='title'"]
Här är vad som händer. dynamichidden är en DTX-fälttyp: osynlig för besökaren men inkluderad i inskickningen. page-title är det interna variabelnamnet (godtyckligt men meningsfullt). Inuti citattecknen hämtar shortcoden CF7_get_post_var key='title' den aktuella WordPress-sidans titel via det globala $post-objektet.
Om du behöver sidans URL istället för titeln, ersätt den inre shortcoden med CF7_URL:
1 [dynamichidden page-url "CF7_URL"]
För slug, använd CF7_get_post_var key='slug':
1 [dynamichidden page-slug "CF7_get_post_var key='slug'"]
Du kan lägga till alla tre fälten samtidigt, och då kommer du att se titel, URL och slug i mejlet. Klicka på Save under formulärredigeraren.
Steg 3: Mata ut variabeln i mejlmallen
Det sista steget är att tala om för Contact Form 7 var den insamlade datan ska infogas. Gå till fliken Mail inuti formuläret.
I fältet Subject lägger du till variabelnamnet inom hakparenteser:
1 [page-title]
Hela ämnesraden kan se ut så här: Message: [page-title]. Eller om du lade till URL:en: Inquiry from page: [page-url].
Samma tillvägagångssätt fungerar i fältet Message Body. Du kan infoga variabeln [page-title] var som helst i mallen, före eller efter huvudmeddelandetexten:
1 Submission page: [page-title] 2 URL: [page-url] 3 4 Message: 5 [your-message]
Variablerna page-title, page-url och page-slug är de exakta namn du tilldelade i [dynamichidden]-taggarna i föregående steg. De måste matcha exakt.
Spara formuläret och testa: öppna två valfria sidor på din webbplats som innehåller detta formulär och skicka ett testmeddelande från varje. Mejlen kommer att anlända med olika ämnesrader beroende på titeln på den sida där besökaren befann sig.
Använda GET-parametrar
DTX kan läsa parametrar från URL:en, vilket är användbart när du skickar med ytterligare information via en länk. Till exempel kan en "Beställ konsultation"-knapp på en prissida länka till /contact/?plan=pro. Shortcoden för detta:
1 [dynamichidden selected-plan "CF7_GET key='plan'"]
I mejlmallen använder du [selected-plan]. Formuläret kommer automatiskt att infoga värdet pro från frågesträngen.
Samma teknik fungerar för UTM-taggar, kampanjidentifierare och alla andra parametrar du skickar med i URL:en.
I den här videon demonstrerar tilläggets skapare Chris Mav grundläggande DTX-inställning på tre minuter, från installation till det första dynamiska fältet. Om något av stegen ovan väcker frågor, titta på den: alla åtgärder visas på skärmen i realtid.
Vad du gör när formuläret finns på alla sidor men du behöver olika titlar
Det grundläggande scenariot som beskrivs ovan täcker de allra flesta fall: ett formulär, sidtitel i mejlets ämnesrad. Men vad händer om du har dussintals sidor, var och en med sitt eget formulär och unik uppsättning fält? Att skapa och konfigurera DTX manuellt för varje tar tid.
Här är tre scenarier i stigande komplexitetsgrad:
Ett formulär på alla sidor. Idealfallet för DTX: lägg till det dolda fältet en gång, så plockar mejlets ämnesrad upp
[page-title]. Installationen tar fem minuter.Flera olika formulär. Konfigurera DTX i varje formulär separat, men kopiera taggarna mellan formulären via urklipp. Det dolda fältet med
CF7_get_post_varfungerar på samma sätt i alla formulär.Dussintals sidor + A/B-tester. Om du inte bara behöver skilja sidor åt utan även spåra formulärkonverteringar, överväg Gravity Forms eller WPForms. De har inbyggd inskickningsanalys och villkorad notifikationsdirigering. DTX är ingen konkurrent här; det löser en specifik uppgift (dynamiska fält) och löser den gratis.
⁉️🤔 Vanliga frågor
Fungerar DTX med den senaste WordPress-versionen?
Ja, tillägget är kompatibelt med WordPress 6.7+ och får regelbundna uppdateringar. I juni 2026 släpper utvecklaren uppdateringar varje till varannan månad, med den senaste i maj 2026. Kontrollera versionen på tilläggets sida, där aktuell kompatibilitet alltid listas.
Kan jag infoga titeln på en specifik sida istället för den aktuella?
CF7_get_post_varhämtar data från det globala$post-objektet, vilket refererar till sidan där formuläret visas. För att infoga titeln på en annan sida, ange dess ID:CF7_get_post_var key='title' post_id='42'. Du hittar sidans ID i admin: Pages → All Pages → för muspekaren över titeln, så visas ID:t i URL:en.
Vad gör jag om variabeln inte syns i mejlet?
Kontrollera tre saker. För det första: matchar namnen? Attributvärdet i
[dynamichidden name ...]och variabeln[name]i mallen måste vara identiska, inklusive versaler/gemener. För det andra: är CF7-shortcoden omsluten av olika typer av citattecken? Inuti dubbla citattecken måste DTX-attribut använda enkla citattecken ("CF7_get_post_var key='title'"). För det tredje: är själva Contact Form 7 aktivt? Utan det fungerar inte DTX.
Varför använda ett dolt fält när jag bara kunde skriva titeln i ämnesraden?
Det dolda fältet automatiserar processen. Om du har ett formulär på tio sidor skulle du utan DTX behöva skapa tio formulärkopior med olika ämnesrader eller manuellt ändra ämnesraden för varje sida. DTX gör detta åt dig: lägg till det dolda fältet en gång, så matchar mejlets ämnesrad alltid inskickningssidan.
Kan jag använda DTX för att förifylla synliga fält?
Ja, ersätt
dynamichiddenmeddynamictextellerdynamicemail. Till exempel kommer[dynamictext user-name "CF7_get_current_user key='user_nicename'"]att förifylla fältet med den inloggade användarens namn. Besökaren kommer att se det förifyllda värdet och kan redigera det innan inskickning.
Kommer tillägget i konflikt med cachning?
Nej. DTX infogar värden serversidan när sidan renderas, så cache-tillägg som WP Rocket påverkar det inte. Om du använder cachning på servernivå (Varnish, Nginx FastCGI), se till att sidor med formulär exkluderas från cachen; annars kan titeln "fastna" på den första besökaren.
Börja med det första scenariot: installera DTX, lägg till ett dolt fält i ditt nuvarande formulär och testa mejl från två olika sidor. Nio av tio webbplatser stannar här eftersom behovet av mer komplex logik helt enkelt aldrig uppstår.



