debug

Jak u WordPressu aktivovat debug

Nedávno se v poradně objevila otázka jak u WordPressu aktivovat nástroj pro odladění chyb v programu neboli režim debug. Při programování nám takový prostředek pomáhá najít nedostatky a chyby vyvíjené aplikace.

Debug-ování PHP kódu je součástí každého projektu, a proto WordPress obsahuje speciální debugovací nástroj, který je navržen tak, aby pomohl zjednodušit a standardizovat kód v jádře, pluginech a šablonách.

WP_DEBUG

Aktivace je velmi jednoduchá. Stačí otevřít soubor wp-config.php a v něm najít řádek s tímto kódem:

define('WP_DEBUG', false);

a ten změnit na:

define('WP_DEBUG', true);

Po aktivaci WP_DEBUG se začnou zobrazovat varování, chyby a další zprávy. Zobrazením PHP zpráv a varování má často za následek zobrazování chybových hlášek u věcí, které se nezdají být rozbité. Nicméně může u nich docházet k špatné validaci dat uvnitř PHP. Tyto chyby se dají velmi snadno opravit, protože zpráva obsahuje druh chyby, řádek a soubor kde se nachází. Odstraněním chyb získáte odolný a lépe spravovatelný kód.

Zastaralé funkce a argumenty

Aktivace WP_DEBUG také často způsobí zobrazení zpráv o zastaralých funkcích a argumentech uvnitř WordPressu. Tyto funkce nebo argumenty nebyly doposud odstraněny z kódu, ale jsou navrženy k odstranění v blízké budoucnosti. Funkce jsou obvykle označeny za zastaralé v případě, že byly nahrazeny funkcí novou.

WP_DEBUG_LOG

WP_DEBUG_LOG je doplňující konstanta pro WP_DEBUG, která způsobuje, že všechny chyby jsou ukládány do souboru debug.log uvnitř adresáře /wp-content/. Tato funkce je užitečná v případě, že chcete všechny zprávy projít později, nebo chcete zobrazit chybové zprávy AJAXU či WP Cronu, které se jinak nezobrazují.

define('WP_DEBUG_LOG', true);

WP_DEBUG_DISPLAY

WP_DEBUG_DISPLAY je další doplňující konstanta pro WP_DEBUG. Určuje, za jsou chyby zobrazeny uvnitř HTML stránek nebo ne. Výchozí nastavení je na true a generované chyby jsou zobrazeny. Pokud funkci nastavíte na false doporučuje se také aktivovat WP_DEBUG_LOG, aby došlo k zaznamenání chyb.

define('WP_DEBUG_DISPLAY', false);

SCRIPT_DEBUG

SCRIPT_DEBUG je konstanta, která donutí WordPress používat “developerskou” verzi souborů CSS a Javascript raději než minimalistické verze, které jsou načtené normálně. Toto se hodí v případě, že testujete modifikace zabudovaných .js nebo .css souborů.

define('SCRIPT_DEBUG', true);

SAVEQUERIES

SAVEQUERIES ukládá databázové dotazy do pole. Pole poté může být zobrazeno a slouží k analýze těchto dotazů. Jestliže je konstanta definována jako true je každý dotaz uložen společně s tím, jak dlouho se prováděl a jaká funkce ho zavolala.

define('SAVEQUERIES', true);

Pole je uloženo v global $wpdb->queries.

POZNÁMKA: Aktivace SAVEQUERIES má velký dopad na rychlost stránky. Proto se ujistěte, že je po skončení debugování vypnutá.

Doporučené nastavení wp-confing.php pro debug WordPressu

Následující kód vložte do wp-confing.php a nahraďte s ním:

define('WP_DEBUG_LOG', false);

Kód má za následek, že všechny chyby, varování a zprávy budou uloženy do souboru debug.log. Vypne také zobrazení chyb v HTML, a proto nebude běh stránky narušen.

 // Zapne debug
define('WP_DEBUG', true);

// Zapne ukládání zpráv do souboru /wp-content/debug.log
define('WP_DEBUG_LOG', true);

// Vypne zobrazování chyb v HTML
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);

// Zapne developerskou verzi souborů JS and CSS. (využijte pouze, pokud tyto soubory upravujete)
define('SCRIPT_DEBUG', true);

Neuteklo vám něco?

Pokrok a WordPress na nikoho nečekají, tak nám tu raději nechte email, ať o nic nepřijdete!

Nespamujeme! Další informace naleznete v našich zásadách ochrany osobních údajů.

Správa WordPress webu

Nemusíte na to být sami. Pomůžeme vám s pravidelnou údržbou i novými vylepšeními.

Více informací

1 názor na “Jak u WordPressu aktivovat debug”

  1. Pavel Krátký

    Zdravím, díky za článek. V uvedeném kódu vám na řádku 9 chybí druhý parametr u funkce ini_set. Konkrétně tam bude 1 nebo “1” nebo true – což ale jistě víte 🙂

Diskuze

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Nákupní košík
Přejít nahoru