WordPress Debug Mode - znajdowanie błędów

Biały ekran, dziwne zachowanie, błędy wtyczek - debugowanie to niezbędna umiejętność. WordPress ma wbudowany tryb debug, który pokazuje błędy PHP i ostrzeżenia. Plus narzędzia jak Query Monitor.

Krótka odpowiedź

WP_DEBUG włączasz w wp-config.php: define('WP_DEBUG', true). Błędy pojawiają się na stronie lub w wp-content/debug.log. Dla produkcji: WP_DEBUG_LOG true, WP_DEBUG_DISPLAY false (logi bez pokazywania). Query Monitor to must-have wtyczka do debugowania.

Włączanie WP_DEBUG

Podstawowe włączenie:
W wp-config.php (przed "That's all"):
```php
define('WP_DEBUG', true);
```

Pełna konfiguracja:
```php
// Włącz debug
define('WP_DEBUG', true);

// Zapisuj do pliku
define('WP_DEBUG_LOG', true);

// Nie pokazuj na stronie
define('WP_DEBUG_DISPLAY', false);

// Pokaż wszystkie błędy PHP
@ini_set('display_errors', 0);
```

Lokalizacja logów:
- wp-content/debug.log

Po debugowaniu (produkcja):
```php
define('WP_DEBUG', false);
```

Typy błędów PHP

Fatal Error:
- Strona nie działa
- Krytyczny błąd
- Przykład: Call to undefined function

Warning:
- Strona działa, ale coś nie tak
- Przykład: Missing argument, Division by zero

Notice:
- Drobne problemy
- Przykład: Undefined variable, Undefined index

Deprecated:
- Przestarzałe funkcje
- Działa, ale wymaga aktualizacji kodu

Interpretacja:
- Fatal: napraw natychmiast
- Warning: napraw gdy możesz
- Notice: nice to fix
- Deprecated: do aktualizacji przy okazji

Query Monitor (wtyczka)

Instalacja:
- Wtyczki → Query Monitor
- Aktywuj

Funkcje:
- Zapytania do bazy danych (slow queries!)
- Błędy PHP
- Hooks wykonane
- HTTP API calls
- Użycie pamięci
- Szablony użyte
- Skrypty/style załadowane

Jak używać:
- Admin bar → Query Monitor
- Rozwiń sekcje
- Czerwone = problemy

Slow queries:
- Queries → Sort by time
- Zapytania > 0.1s wymagają optymalizacji

Hooks:
- Które hooki się wykonały
- Przydatne przy debugowaniu actions/filters

Debugowanie konkretnych problemów

Biały ekran (WSOD):
1. Włącz WP_DEBUG
2. Sprawdź debug.log
3. Często: fatal error w wtyczce/motywie
4. Wyłącz wtyczki przez FTP (zmień nazwę folderu)

Błędy JavaScript:
- Konsola przeglądarki (F12 → Console)
- Często: konflikt wtyczek
- define('SCRIPT_DEBUG', true) - ładuje nieminifikowane

Błędy bazy danych:
```php
define('SAVEQUERIES', true);
// Potem w szablonie:
global $wpdb;
print_r($wpdb->queries);
```

Mail nie wysyła:
- Wtyczka WP Mail Logging
- Sprawdź SMTP ustawienia
- Błędy w debug.log

Wspomniane narzędzia

WP_DEBUG Query Monitor Debug Bar error_log

Najczęściej zadawane pytania

Czy WP_DEBUG spowalnia stronę?
Tak, nieznacznie - WordPress zbiera więcej informacji. Dlatego na produkcji: WP_DEBUG false lub WP_DEBUG_LOG true z WP_DEBUG_DISPLAY false. Nigdy nie zostawiaj WP_DEBUG_DISPLAY true na produkcji - pokazuje wrażliwe informacje.
#wordpress#debug#błędy#query-monitor#development

Potrzebujesz pomocy specjalisty?

Skorzystaj z naszych usług w największych miastach Polski