Kontaktskjema med juletrepynt?

Helt siden jeg konverterte fra MT til WP, har jeg vært på utkikk etter et enkelt men godt kontaktskjema-innstikk til WordPress. Men på tross av at det er drøssevis av innstikk å velge mellom, var det vanskelig å finne noen uten all «juletrepynten» – men endelig fant jeg et uten for mye dilldall – møt Clean Contact.

At det skulle vise seg å være sååååååå vanskelig å finne et kontaktskjema-innstikk til WordPress som var minimalistisk nok for min smak, men allikevel fungerte godt nok, overrasket meg – for det florerer av innstikk i denne kategorien …

Med juletrepynt

Det var helt tilbake i desember jakten startet, og jeg forhørte meg litt på Twitter om gode kontaktskjema-innstikk – og fikk flere gode tips, blant annet fra kjetilostereng og jarledb som anbefalte meg Contact Form 7. Takk for tipset!

Det er ikke vanskelig å forstå at Contact Form 7 er så populær, for den har alt man kan ønske seg, og fungerer svært godt – og jeg anbefaler den gjerne videre til andre – men selv ønsket jeg meg det motsatte, nemlig et svært forenklet innstikk med kun det nødvendige.

Uten juletrepynt

Da jeg kom over Clean-Contact, ble dette det nærmeste jeg har kommet noe som er minimalistisk nok for min smak. Når det er sagt, har også Clean Contact endel unødvendige funksjoner – så om du vet om noe enda enklere (som fungerer godt), setter jeg pris på tips!

Egentlig ønsket jeg å nevne Contact Form 7 mest fordi jeg ville ha noe å sammenligne antall filer (juletrepynt) med, so here we go:

Contact Form 7 er på 1,42MB og består av hele 126 filer, mens Clean Contact kun er på 72kB og består av åtte filer! For å sette det hele i et større perspektiv, kan det nevnes at WordPress 2.9.2 er på 9,09MB og består av 753 filer.

Funket ikke med æ, ø og å

Dessverre viste det seg kjapt at Clean Contact hadde sine svakheter, for spesialtegn, som æ, ø og å, ble ikke vist korrekt i e-postene – verken i emnefeltet eller innholdsdelen. Men jeg orket ikke å lete videre etter noe annet som var minimalistisk nok for min smak, og har derfor fikset dette selv – og med mine mangelfulle PHP-kunnskaper, er dét intet mindre enn en liten bragd i seg selv!

Nedenfor beskriver jeg hvilke endringer jeg gjorde for å fikse æ, ø og å-problemet, slik at dere som ønsker det kan gjøre de samme endringene selv, og legger til slutt ved hele innstikket til nedlasting (inneholder også endel andre endringer).

Fiks for æ, ø og å

Et kontaktskjema på en norsk blogg burde takle æ, ø og å i meldingene – so here we go:

  1. Last ned Clean Contact og finn fila som heter clean_contact.php
  2. Finn linjenummer 130 som ser slik ut:
    $headers[] = 'X-Mailer: WP Clean-Contact (' . $_SERVER['SERVER_NAME'] . ')';

    Under denne linja limer du inn følgende tre nye linjer:

    $headers[] = 'MIME-Version: 1.0';
    $headers[] = 'Content-Transfer-Encoding: Quoted-Printable';
    $headers[] = 'Content-type: text/plain; charset=utf-8; format=flowed; delsp=yes';

    Dette fikser visningen av æ, ø og å i innholdsdelen til e-posten.

  3. Finn linjenummer 140 som ser slik ut:
    if($prefix) {

    Under denne linja limer du inn følgende linje:

    $subject = '=?UTF-8?B?' . base64_encode($subject) . '?=';

    Dette fikser visningen av æ, ø og å i emnefeltet til e-posten.

Last ned Clean Contact med fiks

I tillegg til å ha fikset visningen av æ, ø og å som beskrevet ovenfor, har jeg også oversatt innstikket til norsk og justert formateringen av skjemafeltene, hvordan dette ble kan du selv se på kontaktsida til Asle punkt nu. For å ordne disse tingene, har jeg romstert rundt i fieldset.js og style.css – men det blir for mye vas å liste opp alle disse endringene.

Hvis du ønsker å bruke min endrede versjon av innstikket og ha det nøyaktig slik jeg har det, kan du laste den ned herfra: Clean Contact med fiks.

Ingen ekkel Captcha

Det kan nevnes at Clean Contact ikke har noen ekkel captcha-kode/bilde, men i stedet beskytter deg mot spam ved å «gjemme» hele kontaktskjemaet i et JavaScript. Hvor effektivt dette er vet jeg ikke enda, for jeg har ikke brukt det lenge nok – men jeg har i hvert fall ikke mottatt noen spam enda!

CleanContact uten JS

Det kan også nevnes at innstikket har støtte for å filtrere spam ved å bruke Akismet (følger som standard med WordPress), men jeg vil fraråde å aktivere dette fordi jeg mistenker at det ofte kan ta feil, og at det kan være endel «bugs» relatert til dette.

Slik kommer du i gang

  1. Installer og aktiver innstikket, og klikk på «Clean-Contact» i menypunktet under «Plugins» for å endre innstillingene.
  2. Sørg for at ønsket e-postadresse er oppgitt i feltet for «To E-mail address».
  3. I feltet for «Subject prefix» skriver du inn ønsket emne for e-postene (for eksempel tittelen på din blogg).
  4. Deretter oppretter du to nye «Pages» i WordPress, den ene skal være selve kontaktsida (der limer du inn [clean-contact] for å vise skjemaet), den andre sida du oppretter skal være sida man kommer til etter å ha klikket på «Send meldingen».
  5. Kopier URLen til bekreftelses-sida du opprettet i forrige punkt, og lim den inn i feltet til venstre for «Optional url to redirect to after send (overrides thank you message).»
  6. Husk å fjerne huket for «Filter messages for SPAM through the Akismet plugin»

Det var det! Ingen av de andre feltene på sida med innstillingene er nødvendig å fylle ut (merk at jeg ikke har testet innstikket ved bruk av andre innstillinger enn dem beskrevet ovenfor, og ikke vet hvordan det vil fungere). Har du lyst til å teste skjemaet mitt, er du velkommen til å sende meg testmeldinger (test også ut feilmeldingene man får når feltene ikke er korrekt fylt ut).

Hmm? Det var ikke meningen at bloggposten skulle bli såååå laaaaaaaaaang!

Dette innlegget ble postet i Programvare, Webutvikling. Bokmerk permalenka.

2 svar til Kontaktskjema med juletrepynt?

  1. Hei! Kunne du ha utdypet pkt. 1 – som om jeg var et lite barn (som jeg muligens i denne sammenheng må anses for å være). Altså "installer og aktiver innstikket" – når jeg har en wordpress-blogg – hvordan gjør jeg det?

  2. Asle Ommundsen sier:

    Jeg ser utfra lenken til hjemmesiden din at du har bloggen din hos WordPress.com, og jeg tror ikke det er mulig å installere innstikk hos dem (men jeg er ikke sikker), i så fall er det derfor du ikke ser denne muligheten.

Skriv en kommentar

Din e-post blir aldri publisert eller delt. Påkrevde felt er merket med *

*

Disse HTML-elementer- og attributter er tillatt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>