Je WordPress site doet iets raars. Witte pagina, functie die niet werkt, of een melding die nergens vandaan lijkt te komen. Maar je ziet geen foutmelding — want WordPress verbergt ze standaard. WP_DEBUG schrijft alle fouten weg naar een logbestand zodat je precies ziet wat er misgaat.
WP_DEBUG aanzetten
Open wp-config.php in de hoofdmap van je WordPress-installatie. Dat doe je via FTP of de bestandsbeheerder in DirectAdmin.
Zoek deze regel:
define( 'WP_DEBUG', false );Vervang hem door deze drie regels:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );Sla op. Dat is alles.
Wat doen deze regels?
WP_DEBUG true— debug-modus aanWP_DEBUG_LOG true— fouten wegschrijven naar/wp-content/debug.logWP_DEBUG_DISPLAY false— fouten niet tonen op de pagina (bezoekers zien niets)
Webknecht’s oordeel: Zet WP_DEBUG_DISPLAY altijd op false op een live site. Foutmeldingen op je pagina bevatten soms bestandspaden en serverinfo — een cadeautje voor hackers.
Het logbestand uitlezen
Het logbestand staat op:
/wp-content/debug.logOpen het via de bestandsbeheerder in DirectAdmin, of via FTP. Je ziet regels zoals:
[09-Mar-2026 12:34:56 UTC] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted in /home/user/domains/jouwsite.nl/public_html/wp-content/plugins/zware-plugin/class.php on line 412
[09-Mar-2026 12:34:57 UTC] PHP Warning: call_user_func_array() expects parameter 1 to be a valid callback in /home/user/domains/jouwsite.nl/public_html/wp-includes/class-wp-hook.php on line 307
[09-Mar-2026 12:35:01 UTC] PHP Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/user/domains/jouwsite.nl/public_html/wp-content/themes/oudthema/functions.php on line 55Elke regel bevat:
- Datum en tijd van de fout
- Type fout (Fatal error, Warning, Notice, Deprecated)
- Bestandspad waar de fout optrad
- Regelnummer in dat bestand
De meest voorkomende fouten
PHP Fatal error: Allowed memory size exhausted
PHP Fatal error: Allowed memory size of 134217728 bytes exhaustedJe PHP-geheugenlimiet is bereikt. Verhoog hem in wp-config.php:
define( 'WP_MEMORY_LIMIT', '256M' );Of in .htaccess:
php_value memory_limit 256MPHP Fatal error: Call to undefined function
PHP Fatal error: Call to undefined function wp_get_attachment_image() in ...Een functie bestaat niet — plugin of thema is niet geladen, of er is een versieconflict. Deactiveer plugins één voor één tot de fout verdwijnt.
PHP Fatal error: Cannot redeclare function
PHP Fatal error: Cannot redeclare my_function() (previously declared in ...)Twee plugins of thema’s definiëren dezelfde functienaam. Het bestandspad vertelt je welke plugins conflicteren.
PHP Warning: call_user_func_array expects valid callback
PHP Warning: call_user_func_array() expects parameter 1 to be a valid callbackEen hooked functie bestaat niet meer — plugin verwijderd maar de hook staat nog geregistreerd. Meestal onschadelijk, maar wel een teken van rommelige code.
PHP Deprecated
PHP Deprecated: Function get_magic_quotes_gpc() is deprecatedEen verouderde PHP-functie wordt nog gebruikt. Geen crash, maar de plugin of het thema is niet bijgewerkt voor PHP 8.x. Update de plugin, of zoek een alternatief.
PHP Parse error: syntax error
PHP Parse error: syntax error, unexpected token "echo" in .../functions.php on line 23Er zit een typo in de code — vergeten komma, ontbrekend aanhalingsteken, extra haakje. Het exacte regelnummer staat erbij. Dit is vaak het gevolg van zelf code toevoegen aan functions.php.
WordPress database error
WordPress database error Table 'jouwdb.wp_options' doesn't existEen databasetabel ontbreekt. Kan gebeuren na een mislukte migratie of update. Herstel je backup of run de WordPress database-reparatie via wp-admin/maint/repair.php.
Debug.log wordt te groot
Op een drukke site vult het logbestand zich snel. Leeg het regelmatig:
# Via SSH
> /home/user/domains/jouwsite.nl/public_html/wp-content/debug.logOf gewoon verwijderen — WordPress maakt hem automatisch opnieuw aan.
WP_DEBUG weer uitzetten
Heb je gevonden wat je zocht? Zet debug-modus weer uit:
define( 'WP_DEBUG', false );
define( 'WP_DEBUG_LOG', false );
define( 'WP_DEBUG_DISPLAY', false );Of verwijder de regels helemaal — false is de standaardwaarde.
Webknecht’s oordeel: WP_DEBUG is het eerste wat je aanzet bij een probleem, en het eerste wat je uitzet als het opgelost is. Laat het nooit permanent aanstaan op een live site — het kost performance en vult je schijf.
Kom je er niet uit met de foutmeldingen? Plak de fout in de comments, dan kijken we mee.
