
🚀 Hvordan sette inn sidetittelen dynamisk i emnefeltet til Contact Form 7
Nettstedet ditt har et dusin sider med et kontaktskjema, og hver e-post kommer med samme emnelinje «Message from site». Hvilken seksjon skrev den besøkende fra? Hvilken tjenesteside? Du ender opp med å gjette ut fra meldingsteksten.
Contact Form 7 er standarden for WordPress-skjemaer med over 10 millioner aktive installasjoner. Men rett ut av boksen kan det ikke fortelle hvilken side et skjema ble sendt inn fra. E-postemnet og -brødteksten må konfigureres statisk, så ett enkelt skjema brukt på tvers av flere sider produserer identiske meldinger.
Utvidelsen Dynamic Text Extension (DTX) løser dette på fem minutter uten en eneste linje PHP. Du legger til et skjult felt i skjemaet, og det fanger automatisk opp sidetittel, URL eller slug. Deretter sender du ut den variabelen i e-postemnet eller -brødteksten via malen. Nedenfor følger en trinnvis oppsettsguide fra bunnen av.
💡 Rask oversikt:
- Installer DTX fra WordPress.org-katalogen og aktiver den sammen med Contact Form 7
- Legg til en skjult
[dynamichidden]-tagg med shortcodenCF7_get_post_vari skjemaet ditt - Sett inn variabelen i e-postemnet eller -brødteksten via «Mail»-fanen
- Test ved å sende inn fra to forskjellige sider; e-poster ankommer med forskjellige emner
- Om nødvendig, legg til side-URL eller GET-parametere ved hjelp av samme mekanisme
Steg 1: Installere Dynamic Text Extension

Først, selve utvidelsen. Den er gratis og tilgjengelig i WordPress.org-katalogen under navnet Contact Form 7, Dynamic Text Extension.
Installasjonen er standard: Utvidelser → Legg til ny → søk etter «Dynamic Text Extension» → Installer → Aktiver. Du bør allerede ha Contact Form 7 aktivert siden DTX utvider den spesifikt; uten CF7 tjener den ingen hensikt.
Merk at utvidelsen vedlikeholdes aktivt. Per juni 2026 har den 100 000+ aktive installasjoner, en vurdering på 4,5 på WordPress.org og kompatibilitet med den nyeste WordPress-versjonen. Forfatteren, Chris Mav, utvikler også UberMenu. Dette er ikke en av de utvidelsene som forlates etter første lansering.
Steg 2: Legge til et skjult felt i skjemaet
Nå til konfigurasjonen inne i Contact Form 7. Åpne skjemaet du vil redigere: Kontakt → Kontaktskjemaer → klikk på skjemanavnet. Du er på Skjema-fanen.
Kopier denne koden og lim den inn i skjemabrødteksten etter hovedfeltene dine, men før send-knappen:
1 [dynamichidden page-title "CF7_get_post_var key='title'"]
Her er hva som skjer. dynamichidden er en DTX-felttype: usynlig for den besøkende, men inkludert i innsendingen. page-title er det interne variabelnavnet (vilkårlig, men meningsfylt). Inne i anførselstegnene henter shortcoden CF7_get_post_var key='title' den gjeldende WordPress-sidetittelen via det globale $post-objektet.
Hvis du trenger side-URL-en i stedet for tittelen, erstatt den indre shortcoden med CF7_URL:
1 [dynamichidden page-url "CF7_URL"]
For slug, bruk CF7_get_post_var key='slug':
1 [dynamichidden page-slug "CF7_get_post_var key='slug'"]
Du kan legge til alle tre feltene samtidig, og da vil du se tittel, URL og slug i e-posten. Klikk Lagre under skjemaredigereren.
Steg 3: Sende ut variabelen i e-postmalen
Det siste steget er å fortelle Contact Form 7 hvor de innsamlede dataene skal settes inn. Gå til Mail-fanen inne i skjemaet.
I Emne-feltet legger du til variabelnavnet i hakeparenteser:
1 [page-title]
Hele emnet kan se slik ut: Message: [page-title]. Eller hvis du la til URL-en: Inquiry from page: [page-url].
Samme tilnærming fungerer i Meldingstekst-feltet. Du kan sette inn [page-title]-variabelen hvor som helst i malen, før eller etter hovedmeldingsteksten:
1 Submission page: [page-title] 2 URL: [page-url] 3 4 Message: 5 [your-message]
Variablene page-title, page-url og page-slug er de nøyaktige navnene du tildelte i [dynamichidden]-taggene i forrige steg. De må stemme nøyaktig overens.
Lagre skjemaet og test: åpne hvilke som helst to sider på nettstedet ditt som inneholder dette skjemaet, og send en testmelding fra hver. E-postene vil ankomme med forskjellige emner avhengig av tittelen på siden der den besøkende var.
Bruke GET-parametere
DTX kan lese parametere fra URL-en, noe som er nyttig når du sender tilleggsinformasjon via en lenke. For eksempel kan en «Bestill konsultasjon»-knapp på en prisside lenke til /contact/?plan=pro. Shortcoden for dette:
1 [dynamichidden selected-plan "CF7_GET key='plan'"]
I e-postmalen bruker du [selected-plan]. Skjemaet vil automatisk sette inn verdien pro fra spørrestrengen.
Samme teknikk fungerer for UTM-tagger, kampanjeidentifikatorer og alle andre parametere du sender i URL-en.
I denne videoen demonstrerer utvidelsesforfatter Chris Mav grunnleggende DTX-oppsett på tre minutter, fra installasjon til det første dynamiske feltet. Hvis noen av stegene ovenfor reiser spørsmål, se den: alle handlinger vises på skjermen i sanntid.
Hva du gjør når skjemaet vises på alle sider, men du trenger forskjellige titler
Det grunnleggende scenarioet beskrevet ovenfor dekker de aller fleste tilfeller: ett skjema, sidetittel i e-postemnet. Men hva om du har dusinvis av sider, hver med sitt eget skjema og unike sett med felter? Å opprette og konfigurere DTX manuelt for hver enkelt tar tid.
Her er tre scenarioer i stigende kompleksitetsgrad:
Ett skjema på alle sider. Det ideelle tilfellet for DTX: legg til det skjulte feltet én gang, så plukker e-postemnet opp
[page-title]. Oppsett tar fem minutter.Flere forskjellige skjemaer. Konfigurer DTX i hvert skjema separat, men kopier taggene mellom skjemaer via utklippstavlen. Det skjulte feltet med
CF7_get_post_varfungerer på samme måte i alle skjemaer.Dusinvis av sider + A/B-tester. Hvis du ikke bare trenger å skille sider, men å spore skjemakonverteringer, vurder Gravity Forms eller WPForms. De har innebygd innsendingsanalyse og betinget varslingsruting. DTX er ingen konkurrent her; det løser en spesifikk oppgave (dynamiske felter) og løser den gratis.
⁉️🤔 Ofte stilte spørsmål
Fungerer DTX med den nyeste WordPress-versjonen?
Ja, utvidelsen er kompatibel med WordPress 6.7+ og mottar jevnlige oppdateringer. Per juni 2026 utgir forfatteren oppdateringer hver 1., 2. måned, med den nyeste i mai 2026. Sjekk versjonen på utvidelsessiden, hvor gjeldende kompatibilitet alltid er oppført.
Kan jeg sette inn tittelen på en bestemt side i stedet for den gjeldende?
CF7_get_post_varhenter data fra det globale$post-objektet, som refererer til siden der skjemaet vises. For å sette inn tittelen på en annen side, spesifiser dens ID:CF7_get_post_var key='title' post_id='42'. Du finner side-ID-en i administrasjonspanelet: Sider → Alle sider → hold musepekeren over tittelen, så vises ID-en i URL-en.
Hva om variabelen ikke vises i e-posten?
Sjekk tre ting. For det første: stemmer navnene overens? Attributtverdien i
[dynamichidden name ...]og variabelen[name]i malen må være identiske, inkludert store/små bokstaver. For det andre: er CF7-shortcoden pakket inn i forskjellige anførselstegntyper? Inne i doble anførselstegn må DTX-attributter bruke enkle anførselstegn ("CF7_get_post_var key='title'"). For det tredje: er Contact Form 7 selv aktivert? Uten det fungerer ikke DTX.
Hvorfor bruke et skjult felt når jeg bare kunne skrevet tittelen i emnet?
Det skjulte feltet automatiserer prosessen. Hvis du har ett skjema på ti sider, måtte du uten DTX opprette ti skjemakopier med forskjellige emner eller manuelt endre emnet for hver side. DTX gjør dette for deg: legg til det skjulte feltet én gang, så samsvarer e-postemnet alltid med innsendingssiden.
Kan jeg bruke DTX til å forhåndsutfylle synlige felter?
Ja, erstatt
dynamichiddenmeddynamictextellerdynamicemail. For eksempel vil[dynamictext user-name "CF7_get_current_user key='user_nicename'"]forhåndsutfylle feltet med navnet til den påloggede brukeren. Den besøkende vil se den forhåndsutfylte verdien og kan redigere den før innsending.
Kommer utvidelsen i konflikt med bufring?
Nei. DTX setter inn verdier på tjenersiden når siden rendres, så bufferutvidelser som WP Rocket påvirker den ikke. Hvis du bruker bufring på tjenernivå (Varnish, Nginx FastCGI), sørg for at sider med skjemaer er ekskludert fra bufferen; ellers kan tittelen «henge fast» ved den første besøkende.
Start med det første scenarioet: installer DTX, legg til et skjult felt i ditt nåværende skjema, og test e-poster fra to forskjellige sider. Ni av ti nettsteder stopper her fordi behovet for mer kompleks logikk rett og slett aldri oppstår.



