Ce face WP_DEBUG și debug.log
WP_DEBUG pornește modul de depanare: WordPress setează error_reporting( E_ALL ), deci apar toate erorile, avertismentele, notificările și mesajele despre funcții depreciate. Valoarea implicită este false, iar wp-config-sample.php o scrie explicit. Dacă WP_DEBUG nu este definit deloc și tipul de mediu (WP_ENVIRONMENT_TYPE) este development, WordPress îl pornește singur. Constanta apare în cod din 2.3.2; afișarea notificărilor PHP a fost legată de ea în 2.5.
Cele două constante însoțitoare (ambele din WordPress 2.9) funcționează doar când WP_DEBUG este true. WP_DEBUG_LOG cu true scrie erorile în wp-content/debug.log; din 5.1 poate primi și o cale proprie, de exemplu '/var/log/exemplu.ro/wp-erori.log'. WP_DEBUG_DISPLAY (implicit true) controlează dacă erorile apar în HTML-ul paginii; cu false se ascund, iar documentația recomandă și @ini_set( 'display_errors', 0 );.
SCRIPT_DEBUG încarcă versiunile neminificate ale fișierelor CSS și JavaScript din nucleu (util doar dacă le modifici). SAVEQUERIES păstrează interogările SQL în $wpdb->queries. Toate se pun în wp-config.php înainte de linia /* That's all, stop editing! */. Documentația nu recomandă modul de depanare pe site-ul live: folosește-l local sau pe staging, iar dacă îl pornești temporar, șterge apoi debug.log, care se află într-un folder public.
Parametri
| Parametru | Descriere |
|---|---|
WP_DEBUG |
true / false (boolean, fără ghilimele). Pornește raportarea tuturor erorilor. |
WP_DEBUG_LOG |
true = scrie în wp-content/debug.log; un șir = calea fișierului de log (din 5.1). |
WP_DEBUG_DISPLAY |
true (implicit) afișează erorile în pagină, false le ascunde, null lasă setarea display_errors din PHP. |
SCRIPT_DEBUG |
true încarcă fișierele CSS/JS neminificate din nucleu. Implicit false. |
SAVEQUERIES |
true salvează fiecare interogare, durata și funcția care a apelat-o în $wpdb->queries. Încetinește site-ul. |
Exemple
Exemplul 1: Configurația recomandată pentru depanare
Erorile se scriu în debug.log și nu se afișează vizitatorilor. Blocul se pune înainte de linia „That’s all, stop editing!”.
// wp-config.php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
/* That's all, stop editing! Happy publishing. */
Rezultat
[25-Oct-2026 09:14:02 UTC] PHP Warning: Undefined variable $pret in /var/www/exemplu.ro/wp-content/themes/dex-copil/functions.php on line 18
[25-Oct-2026 09:14:02 UTC] PHP Warning: Undefined array key "oras" in /var/www/exemplu.ro/wp-content/themes/dex-copil/functions.php on line 24
Exemplul 2: Mesaje proprii în debug.log
error_log() scrie în același fișier; print_r( $x, true ) transformă un tablou în text. Verificăm WP_DEBUG ca să nu scriem în log pe site-ul live.
<?php
function dex_log( $date ) {
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
error_log( is_array( $date ) || is_object( $date ) ? print_r( $date, true ) : $date );
}
}
dex_log( 'dex: rezervare nouă de la Ana' );
dex_log( array( 'oras' => 'Iași', 'persoane' => 4 ) );
Rezultat
[25-Oct-2026 09:15:10 UTC] dex: rezervare nouă de la Ana
[25-Oct-2026 09:15:10 UTC] Array
(
[oras] => Iași
[persoane] => 4
)
Exemplul 3: Pornirea din terminal și urmărirea logului
wp config set cu –raw scrie true ca boolean, nu ca șir; tail -f arată erorile noi pe măsură ce apar.
wp config set WP_DEBUG true --raw
wp config set WP_DEBUG_LOG true --raw
tail -f wp-content/debug.log
Ieșire în terminal
Success: Updated the constant 'WP_DEBUG' in the 'wp-config.php' file with the raw value 'true'.
Success: Updated the constant 'WP_DEBUG_LOG' in the 'wp-config.php' file with the raw value 'true'.
[25-Oct-2026 09:16:45 UTC] dex: rezervare nouă de la Mihai
Greșeli frecvente
define( 'WP_DEBUG', 'false' );cu ghilimele: șirul'false'este evaluat ca adevărat, deci depanarea rămâne pornită.- Constantele puse după linia
/* That's all, stop editing! */: WordPress s-a încărcat deja și nu le mai ia în seamă. WP_DEBUG_LOGsauWP_DEBUG_DISPLAYfărăWP_DEBUGpornit: nu au niciun efect.debug.loglăsat pe server după depanare: e accesibil din browser și poate conține căi și date. Șterge-l sau mută logul în afara folderului public.
Comenzi înrudite
wp-config.php: constante: Fișierul de configurare al WordPress: datele bazei de date, prefixul tabelelor, cheile de securitate, adresele site-ului și alte constante.wp_remote_get: Face cereri HTTP din PHP prin HTTP API-ul WordPress și întoarce un tablou cu răspunsul sau un obiect WP_Error.