WordPress Udvikling

Jeg har igennem tiden udviklet en hel række kundespecifikke WordPress funktioner og plugins.
Når standardløsninger ikke er nok, bygger jeg funktionerne og plugins fra bunden. Jeg udvikler skræddersyede systemer og specialkodede plugins, der passer præcis til dine behov. Funktioner tilføjet som snippets (indsat kode) og Plugins, er “software” der fungerer som en udvidelse til hjemmesiden. Det tilføjer nye funktioner & værktøjer, som WordPress ikke har som standard. Læs om udvalgte funktions- op plugin udvidelser nedenfor.

STATISTIK PLUGIN
Et specialudviklet WordPress‑plugin, der indsamler og visualiserer brugeradfærd på Stellplatz Danmark-platformen. Løsningen leverer realtidsstatistik over sidevisninger, regionsinteresse, pladstyper, filtre og brugerflow på hjemmesiden, og i PWA-App’en.
Pluginet er bygget med fokus på performance, datanøjagtighed og et kompakt admin bruger interface, så ejerne af platformen kan aflæse udviklingen og træffe datadrevne beslutninger. Statistik data kan udtrækkes til Excel,for en kommune, region, eller for hele landet.
ARTIKEL PLUGIN
Et skræddersyet WordPress-plugin udviklet til LM Klubben Danmark, der gør det enkelt for webmasteren at fremhæve 2 udvalgte artikler på forsiden via to Info-bokse. Pluginet indeholder et kompakt og brugervenligt Administrator interface med felter til titel, link, billede og uddrag for to artikler.
Løsningen er bygget med fokus på minimal vedligeholdelse, klar struktur og et rent bruger interface, så redaktøren hurtigt kan opdatere indhold uden teknisk kompleksitet.
SLIDER PLUGINS
Avancerede, men ultrakompakte slider-plugins udviklet til WordPress med fokus på hastighed, brugervenlighed og præcis kontrol.
LØSNING I:
Løsningen giver redaktører mulighed for at tilføje, sortere og redigere slider-billeder via et strømlinet admin bruger interface.
Pluginet understøtter Drag & Drop rækkefølge, brugerdefineret HTML-template, Link-validering og fuld kontrol over Caption-HTML. Resultatet er en fleksibel, stabil og professionel slider-løsning, der kan tilpasses enhver frontend. Slidervisningen er 100% kompatibel for mobilvisning.
LØSNING II:
Denne løsning er ikke Caption-baseret, men på alle andre punkter, virker den på samme måde.
INDLÆGS FILTRERING
LØSNING I:
Jeg har bygget listevisning over oprettede indlæg på LM Klubben Danmarks hjemmeside, hvor man kan søge lynhurtigt på udvalgte ord og fraser i de over 700 indlæg der er i medlems området på sitet.
Løsningen er bygget med en speciel WordPress listevisning, med et inkluderet Javascript der filtrerer på den viste liste.
LØSNING II:
Samme løsning er brugt på Stellplatz Danmark sitets backend (ca. 700 autocamper pladser), hvor pladserne i kortet vedligeholdes.
SIMPEL WEBSHOP
Jeg har udviklet en skræddersyet webshop‑løsning baseret på WordPress Simple PayPal Shopping Cart, hvor hele produktvisningen er udvidet med et eget kategori‑system, dynamiske beskrivelser og et responsivt grid‑layout. Løsningen er bygget uden ændringer i plugin‑filerne, hvilket gør den fuldt opdateringssikker og nem at vedligeholde ([Shortkode]-baseret).
Systemet håndterer:

  • Håndtering af moms og fragt tilpasset til kundens behov
  • Automatisk kategorisering af produkter via custom JavaScript
  • “Vis Alle”‑funktion med dynamisk aktivering og fuld kompatibilitet
  • Ensartet produktlayout med fleksible kolonner og pixel‑præcis CSS
  • Dynamiske beskrivelser via innerHTML for korrekt linjeskift og formatering
  • Let udvidelse med nye kategorier, beskrivelser og visningslogik
  • Komplet responsiv visning på både desktop, tablet og mobil

Løsningen er designet til at være hurtig, stabil og fuldt uafhængig af pluginets markup, hvilket giver maksimal kontrol over UI og brugeroplevelse.

DRIFTSINFO LYSAVIS
Jeg udviklede en fuldt dynamisk driftsinfo‑ticker, der automatisk præsenterer aktuelle driftsmeddelelser i et kontinuerligt, horisontalt flow. Løsningen er bygget til at være 100% sømløs, uden behov for manuelle opdateringer, og integrerer direkte med WordPress‑backendens driftsmodul.
Tickerens tekst starter altid med den nyeste driftsbesked placeret helt til venstre, hvorefter indholdet gentages automatisk på tværs af hele bredden – adskilt af ➤ for maksimal læsbarhed. Animationen kører jævnt fra højre mod venstre og tilpasser sig automatisk til skærmbredden, så den fremstår ensartet på både desktop og mobile enheder.
Løsningen er bygget med ren HTML, CSS og JavaScript, uden afhængigheder, og er optimeret til høj performance, minimal CPU‑belastning og fuld kompatibilitet med caching‑miljøer. Resultatet er en driftsinfo‑komponent, der altid er opdateret, visuelt rolig og teknisk robust – og som giver brugerne et klart overblik over driftstatus i realtid.
SÆSON ÅBNINGSTIDER
Havnekontoret på Vejle Lystbådehavn har forskellige åbningstider i sejlsæsonen og i vinterhalvåret.
Derfor havde de brug for en dato baseret automatisk opdatering på hjemmesiden og infoskærmen ved indgangen (i porten) til havnen.
Derfor har jeg lavet en funktion i WordPress hjemmesiden, samt en Javascript løsning på infoskærmen.
ARRANGEMENTSKALENDER
Jeg har udviklet en specialtilpasset arrangementskalender til en forening, baseret på én samlet Arrangements‑kategori i WordPress, men med to adskilte visninger:

  • Kommende
  • Afholdte

Systemet udnytter en kombination af WordPress indlægsstatus og en specialbygget visningslogik. Alle arrangementer oprettes som Kladde, hvilket betyder at de automatisk vises i listen Kommende. Når arrangementet er afholdt, ændres status til Udgivet, og indlægget flyttes automatisk til visningen Afholdte – Uden behov for manuel kategoristyring eller ekstra felter.
Specialkodet visningslogik:

  • Filtrerer på samme kategori, men skelner via indlægsstatus
  • Viser arrangementer i en ren, mobilvenlig liste

Giver en intuitiv og driftssikker kalenderoplevelse for foreningens medlemmer og for webmaster. Løsningen sikrer samtidig, at foreningen kun skulle fokusere på at oprette arrangementer – Resten blev håndteret automatisk af systemet.

DOKUMENTARKIVER
LM KLUBBEN DANMARK: (Billede I)
Jeg udviklede et specialbygget PHP‑baseret filbrowser‑system til LM Klubben Danmark, der giver medlemmer adgang til et stort historisk arkiv fra LM Glasfiber. Løsningen fungerer uden database og genererer automatisk en fuld, navigerbar struktur baseret på filsystemet.
Systemet håndterer både dokumenter, billeder og undermapper, viser filstørrelser, sorterer indhold dynamisk og anvender ikon‑sprite for tydelig filtype‑visning. Billeder åbnes i et moderne lightbox‑galleri, hvor brugeren kan bladre mellem billeder i samme mappe.
Adgangen er beskyttet via WordPress‑login, og ikke‑loggede brugere får en tydelig besked samt direkte login‑link. UI‑delen er tilpasset LM Klubbens visuelle identitet med Haettenschweiler‑font, LM‑logo og responsivt layout.
Resultatet er en **hurtig, sikker og vedligeholdelsesfri** arkivløsning, der gør et komplekst historisk materiale let tilgængeligt for klubbens medlemmer.
AB TOFTEVEJ: (Billede II)
Jeg har udviklet en fuldt automatiseret og brugervenlig dokumenthåndtering til AB Toftevejs hjemmeside, baseret på en struktureret WordPress‑opsætning med kategoriserede PDF‑filer og dynamiske visninger. PDF‑filer og øvrige dokumenter uploades i WordPress Mediebiblioteket og tildeles en specifik “Kategori”.
Kategorier styrer, hvad der vises i to adskilte arkiver:

  • Offentligt dokumentarkiv – Tilgængeligt for alle besøgende
  • Internt dokumentarkiv – Kun for andelshavere via login

Arkiver viser hver især en overskuelig liste med:

  • Dokumentnavn
  • Kilde‑ikon
  • Direkte link til dokumentet i en indbygget “lightbox viewer”
Dette giver en moderne, intuitiv og mobilvenlig dokumentoplevelse, hvor brugerne kan læse PDF’er uden at forlade siden.
Systemet er designet til at være driftssikkert, let at vedligeholde og fuldt integreret i AB Toftevejs eksisterende WordPress‑struktur.
REMOTE OPDATERING
Udarbejdelse af funktion til “Remote opdatering” af “Driftstatus” på NAL Medienets hjemmeside.

Medarbejderne på antenneforeningens kontor og i internet supporten kan via et enkelt og sikkert interface opdatere driftstatus på antenneforeningens hjemmeside ved hjælp af en Remote funktion, uden at være logget på WordPress hjemmesiden.

FOTO GALLERIER
Jeg har udviklet en fuldt custom upload‑ og indlægsfunktion til LM Klubben, hvor medlemmer kan uploade 1–50 billeder til fotokonkurrencer, medlems- og LM-gallerier.
Løsningen består af en JavaScript‑baseret kø‑uploader, der håndterer billedvalg, preview og asynkron upload til WordPress Media Library. Når uploaden er fuldført, oprettes et indlæg automatisk via en server‑side handler, som modtager billed‑ID’er og genererer et galleri i indlæggets indhold.
Systemet sætter automatisk det første billede som “udvalgt billede” (featured image) og knytter alle uploadede billeder til indlægget, så de vises korrekt i både WP Lightbox‑galleriet og i WordPress standard mediehåndtering.
NYHEDSBREVS POPUP
Jeg udviklede en tilgængelig og brugervenlig nyhedspopup til kunden (Mailchimp formular), med fokus på at forbedre oplevelsen for både almindelige brugere og svagtseende, der ofte benytter kraftig browser‑zoom.
LØSNINGEN:
Kompakt og Scroll‑venlig Popup‑boks, så hele indholdet altid er tilgængeligt uanset skærmstørrelse, zoomniveau eller enhed. Scrollbars blev gjort tydeliger for at sikre bedre visuel guidning, og der blev tilføjet en ekstra, grå “Luk”‑knap direkte ved siden af TILMELDING‑knappen. Denne placering giver en intuitiv og let tilgængelig afslutning på popup’en, især for brugere der naturligt scroller ned til formularens slutning.
RESULTAT:
En modal, der lever op til moderne tilgængelighedsstandarder, fungerer på tværs af alle enheder og zoomniveauer, og giver en markant forbedret brugeroplevelse, uden at gå på kompromis med design eller funktionalitet.
FOTO MIGRERING
I forbindelse med migreringen fra et ældre ASP‑site til en moderne WordPress‑platform udviklede jeg en komplet automatiseret billedpipeline. Det gamle system havde en ustruktureret og knopskydende mappestruktur, hvor billederne lå spredt i undermapper og var knyttet til en plads via et ID i filnavnet.
For at sikre en ren og fremtidssikret billedstruktur byggede jeg først et PHP‑script, der læste alle billedreferencer direkte fra den migrerede database, men hentede selve filerne fra det eksisterende ASP‑site. Scriptet gennemgik hele den rodede mappestruktur, matchede billederne med deres plads‑ID og downloadede dem til en ny, logisk struktur, hvor hver plads fik sin egen mappe.
BILLEDE I:
Efter upload til det nye WordPress‑site kørte jeg et andet PHP‑script, der automatisk optimerede alle billeder til en defineret max‑størrelse. Det reducerede filstørrelsen markant og sikrede, at alle billeder passede perfekt ind i den nye billedviewer og gav en hurtigere og mere stabil brugeroplevelse.
BILLEDE II:
Ved hjælp af datastrukturen i database migreringen blev fotorækkefølgen for visningen for brugerne bibeholdt (backend funktion).
DATABASEMIGRERING
Jeg har stået for den komplette datamigrering af Stellplatzdanmark.dk fra en ældre ASP‑platform med MS SQL‑database til en moderne WordPress‑løsning baseret på MySQL. Arbejdet omfattede både omstrukturering af databasen, datavask og optimering af datamodellen, så den nye platform kunne udnytte WordPress’ modulære arkitektur og API‑baserede funktioner.
FOKUSOMRÅDER:

  • Database‑omstrukturering fra relationstung MS SQL‑model til effektiv MySQL‑struktur
  • Datavask og fejlrettelser af gamle poster, dubletter, ugyldige felter og historiske fejl
  • Optimering af datamodellen til brug i WordPress’ custom post types og avancerede felter
  • Migrering af indhold inkl. pladser, faciliteter, koordinater, billeder og brugerdata
  • Performance‑forbedringer gennem rensning, normalisering og caching‑strategi
  • Stabil overgang uden nedetid for brugerne og med fuld dataintegritet

RESULTAT:
Den nye platform leverer et hurtigere, mere stabilt og fremtidssikret system, hvor data er struktureret korrekt, fejl er elimineret, og WordPress‑miljøet kan udnyttes fuldt ud til både API‑integrationer, PWA‑funktioner og dynamiske visninger.

BOOKING INTEGRATION
Jeg har på en turbåd WordPress‑hjemmeside implementeret booking via GeckoBooking.dk, hvor event‑booking kører direkte på hjemmesiden via et indlejret modul, der henter live data om ledige tider, kapacitet og tilmelding. Løsningen giver et strømlinet flow, hvor brugeren kan se arrangementer, vælge dato, udfylde formular og gennemføre betaling uden at forlade sitet.
Integrationens struktur er bygget som et modulært WordPress‑setup med:

  • Live synkronisering af events og tilgængelighed
  • Responsivt booking‑interface tilpasset temaets design
  • Sikker betalingshåndtering via PayPal, Stripe og Nets
  • Shortcode‑baseret embedding af bookingflowet
  • Automatiske bekræftelser og deltagerhåndtering

Løsningen er opdateringssikker, let at vedligeholde og giver en professionel, sammenhængende brugeroplevelse for både events, kurser og arrangementer.

WORDPRESS BOOKING
Jeg har udviklet Online Booking systemer integreret i WordPress til en turbåd, samt til en hundeklip salon. Begge dog uden betalingsmoduler.
BETALINGSMODULER
Jeg har implementeret betalingsmodulerne PayPal, Stripe og Nets, på diverse webshop løsninger (WooCommerce og Simple PayPal Shopping Cart platformene).
DATASYNKRONISERING
Sogneportalen for Hårlev og Varpelev Sogne (Din-kirke.dk) henter Begivenheder, Menighedsråd og Medarbejdere fra portalen Sogn.dk, så data kun skal vedligeholdes eet sted.
På projektet udviklede jeg en skræddersyet PHP‑scraper, der henter struktureret indhold fra sogn.dk og integrerer det direkte i WordPress uden brug af plugins. Da sogn.dk leverer forskellig HTML afhængigt af side og TYPO3‑modul, byggede jeg en robust parser, der identificerer de korrekte DOM‑blokke, håndterer dybe div‑hierarkier og sikrer, at både “Præster” og “Andre medarbejdere” bliver samlet i én output‑struktur.

En central udfordring var, at sogn.dk benytter Bootstrap‑klasser, som kolliderer med WordPress‑layoutet. Jeg løste dette ved at indkapsle indholdet og tilføje selektiv CSS‑neutralisering, så eksterne flex‑ og grid‑klasser ikke påvirker siden. Resultatet er en stabil, opdateringssikker og fuldt integreret løsning, der automatisk henter og viser korrekt indhold — uden at ændre i sogn.dk’s markup.

LOGIN SYNKRONISERING
Login‑synkronisering mellem det to hjemmesider LM Klubben Danmark og salgsannonce sitet LM Boats.
Jeg udviklede en sikker og fuldt automatiseret login‑synkroniseringsløsning, der forbinder medlemsplatformen LM Klubben med bådportalen LM Boats. Formålet var at give medlemmer én samlet login‑oplevelse på tværs af platformene, uden behov for flere konti, eller manuelle opdateringer.
LØSNINGEN:
Bygger på et HMAC (Hash-based Message Authentication Code) synkroniseringsflow, hvor LM Klubben fungerer som identitetsudbyder. Når et medlem aktiverer login, overføres brugerdata og password krypteret til LM Boats, hvor kontoen automatisk oprettes eller opdateres. Brugeren logges derefter ind med det samme, og kan derefter bruge samme login på begge sites. Systemet opdaterer password sikkert, validerer roller, og viser brugervenlige beskeder i alle scenarier.
RESULTAT:
En strømlinet og sikker login‑oplevelse, der reducerer supportbehov og giver en markant bedre brugerrejse for medlemmerne.
WEBCAM INTEGRATION
Universal plugin til WebCams
Integration af WebCams på Vejle Lystbådehavns hjemmeside
Live stemningsbilleder fra havnen
Klik på billeder nedenfor, for at se større version
PORTEN
PORTEN
HOVEDBROEN
HOVEDBROEN
KLUBØEN
KLUBØEN
PÆLEPLADSER
PÆLEPLADSER
BRO 1-7
BRO 1-7
BRO 6-1
BRO 6-1
BRO 7
BRO 7
OFFLINE EKSEMPEL
OFFLINE EKSEMPEL
Sikkerheden er i top, da besøgende ikke vil få direkte adgang til kamera servers IP-adresse. Kamera adgangen håndteres via hjemmesiden, så IP-adresse, adgangs parametre og teknisk opsætning ikke eksponeres direkte for de besøgende. Kamera kan derfor ikke streames fra ekstern kilde. Samtidig undgås sikkerheds advarsler, da kamera servers kører HTTP.
XXX
KOMMER
Call Now Button