Bedre WordPress-debugging med Acorn: fra rå WP_DEBUG til fejlsider, der giver mening
WordPress har en debug-mode, WP_DEBUG, som de fleste af os slår til i lokale miljøer for at fange notices, warnings og egentlige fejl tidligt. Problemet er bare, at standardmåden WordPress viser fejl på, ofte ender som en ustruktureret blok tekst direkte i markupen — og så bruger du mere tid på at afkode fejlen end på at løse den.
Hvis du bygger WordPress-sites med Roots-stacken (fx Bedrock og Acorn), kan du få en markant bedre fejloplevelse: mere læsbare stack traces, tydelig kontekst og et output, der minder om moderne PHP-frameworks. Her er, hvordan det hænger sammen, og hvilke muligheder du har.
Hvorfor WP_DEBUG stadig er værd at køre med (selvom det larmer)
WP_DEBUG er WordPress’ indbyggede switch til at logge og vise PHP-fejl/meddelelser. Den bør være slået til i lokale udviklingsmiljøer, fordi den afslører ting, som ellers bliver overset: uinitialiserede variabler, deprecated calls, “header already sent”, osv.
Særligt i WordPress-økosystemet, hvor themes og plugins i praksis kan komme fra alle mulige kvalitetsniveauer, er WP_DEBUG en effektiv røgalarm. Det er også derfor Bedrock (Roots’ moderne WordPress-boilerplate med Composer) typisk har debug aktiveret i development-konfigurationen som udgangspunkt.
Standard WP_DEBUG-output: bedre end ingenting, men ikke ret brugbart
Når WP_DEBUG er slået til, vil WordPress som udgangspunkt bare dumpe fejl og notices direkte på siden. Det kan være fint til den hurtige “hvad gik galt?”, men det giver sjældent en god arbejdsgang: stack traces kan være svære at læse, og præsentationen passer dårligt ind på siden (og kan i værste fald ødelægge HTML-outputtet).

Acorn: når WordPress får en mere moderne fejloplevelse
Acorn er Roots’ integration af Laravel-komponenter i WordPress. Når du kører med Acorn, kan den forbedre din fejlvisning, når både WP_DEBUG og WP_DEBUG_DISPLAY er aktiveret. Det betyder i praksis, at du får en rigtig exception handler i stedet for WordPress’ rå output.
Acorns standard: Symfony exception handler
Out of the box bruger Acorn Symfony’s exception handler. Den giver en mere struktureret præsentation af exceptions, så du hurtigere kan finde årsag, fil og linjenummer — uden at skulle “læse” dig igennem en mur af tekst.

Ignition: Laravel-fejlsiden på WordPress (når du bruger Acorn v3)
Hvis du kommer fra Laravel, kender du sandsynligvis Ignition — den fejlside der siden Laravel v9 har været standardoplevelsen ved exceptions. Med Acorn v3 kom support for routing i Laravel-stil, og det åbner også for at bruge Ignition på WordPress-sites, der kører Acorn.
I praksis giver Ignition den mest behagelige debugging-oplevelse: overskuelig fejlvisning, tydelige stack frames og et UI, der gør det nemt at navigere i, hvad der faktisk skete.

For at tage Ignition i brug på et WordPress-projekt med Acorn, installerer du pakken som en development dependency fra den mappe, hvor Acorn er installeret:
composer require spatie/laravel-ignition --devHvornår giver Ignition mening?
Ignition er især oplagt, hvis du i forvejen arbejder Laravel-agtigt i dit WordPress-projekt (fx Sage/Acorn) og vil have samme fejloplevelse på tværs af projekter.
Whoops: den klassiske forbedring (især relevant før Acorn v3)
Før Acorn v3 var anbefalingen typisk at bruge whoops sammen med Acorn for at få bedre fejlsider end Symfony-udgaven. Hvis du stadig sidder på Acorn v2, kan whoops stadig være en klar opgradering i dagligdagen, selvom det generelt giver mening at kigge på en opgradering til Acorn v3.

Hvis du ikke bruger Acorn: to praktiske alternativer
Der findes også solide værktøjer, hvis du kører “klassisk” WordPress uden Acorn. To plugins, der ofte er værd at have i værktøjskassen lokalt:
- Query Monitor – ekstremt nyttigt i lokale miljøer til at inspicere queries, hooks, HTTP-kald, PHP-errors og performance.
- Debug Bar – en enkel debug-toolbar, der gør det nemmere at se relevante debug-informationer uden at rode i outputtet.
Praktisk opsummering
- Kør med
WP_DEBUGi dine lokale miljøer for at fange fejl tidligt. - Acorn kan forbedre fejlvisningen markant, når
WP_DEBUG && WP_DEBUG_DISPLAYer aktiveret. - Standard i Acorn er Symfony exception handler — en klar forbedring i læsbarhed.
- Med Acorn v3 kan du bruge Ignition (spatie/laravel-ignition) og få en Laravel-lignende fejlside.
- På ældre setups kan whoops stadig give en bedre oplevelse end standardfejlsider.
- Uden Acorn er Query Monitor og Debug Bar gode bud på et mere produktivt debug-setup.
Hannah Turing
WordPress-udvikler og teknisk skribent hos HelloWP. Jeg hjælper udviklere med at bygge bedre hjemmesider med moderne værktøjer som Laravel, Tailwind CSS og WordPress-økosystemet. Passioneret omkring ren kode og udvikleroplevelse.
Alle indlæg