Hledání chyb ve WordPress

Většina lidí začne hledat chyby ve WordPress teprve až když se objeví takzvaná bílá obrazovka smrti. Do té doby nic neřeší, protože ani nevidí. Jakékoliv hlášení varování a upozornění je defaultně vypnuto. Přitom WordPress má celkem slušnou škálu možností jak v základu sledovat problémy s instalací. Zkušenější programátor i bez větších znalostí redakčního systému WordPress by pomocí těchto debugovacích nástrojů měl být schopný najít problém, vyřešit jej popřípadě vám sdělit o co jde.

Samozřejmě pokud se věnujete vývoji rozšířeni, vždy je dobré využít všech nástrojů k zjištění případných chyb a kolizí.

WP_DEBUG – zapnutí debugování

Pokud do wp-config.php přidáte řádek s konstantou WP_DEBUG

define('WP_DEBUG', true);

Začnou se zobrazovat PHP Errors, Warnings a Notices. Snadno tak naleznete například chybějící proměnné, které sice většinou nemají vliv na chod instalace, ale také mohou. Většinou tak předejdete větším problémům. Samozřejmě je třeba brát ohledy na to, že po zobrazení chyb se může značně rozhodit design.

Zároveň nám WP_DEBUG ukazuje zastaralé funkce, které v příštích verzích nebudou podporovány a je třeba je nahradit novými.

WP_DEBUG_LOG – zapisování chyb do logu

Definováním této konstanty v souboru wp-config.php

define('WP_DEBUG_LOG', true);

můžete sledovat zpětně všechny chyby, které se vyskytnou ve vaší instalaci. Vše se totiž ukládá do souboru debug.log, který najdete v adresáři wp-content. Navíc v něm uvidíte i problémy spojené s AJAX, který volá soubory.

WP_DEBUG_DISPLAY – zapnutí a vypnutí chyb

Pokud do wp-config.php umístíte

define('WP_DEBUG_DISPLAY', false);

vypne to zobrazování chyb, varování a poznámek. Většinou se používá, když nechcete chyby zobrazovat, ale zapisovat do souboru.

SCRIPT_DEBUG – Jak zpřehlednit skripty

Definováním této konstanty zakážete WordPress zmenšovat .css a .js soubory.

define('SCRIPT_DEBUG', true);

Zmenšené soubory se používají na ušetření přenosů.

Ve WordPress 3.1 existovala ještě konstanta STYLE_DEBUG, která se zaměřovala čistě na kaskádové styly.

SAVEQUERIES – Jak ukládat SQL dotazy

Po aktivaci této konstanty se můžete vrhnout na opravdu SQL dotazů.

define('SAVEQUERIES', true);

Funguje zhruba následovně. Všechny dotazy na databází, včetně doplňujících informací jako je doba provedení se budou ukládat do pole (array) $wpdb->queries.

S tímto debugováním by si měly hrát jen zkušení programátoři, protože nevhodným používáním vystavujete instalaci bezpečnostnímu riziku, navíc daleko více vytěžuje server.

Příklad debugovací konfigurace ve wp-config.php

Pro ilustraci následující konfigurace zapne kontrolu chyb, které bude zapisovat do souboru, nebude je zobrazovat, zároveň udělá soubory s Javascript a CSS čitelnými a všechny informace o SQL dotazech bude ukládat do proměnné $wpdb->queries.

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'SCRIPT_DEBUG', true );
define( 'SAVEQUERIES', true );

Autor Ginoza

Pracuji na zákaznické podpoře jednoho známého webhostingu.

Napsat komentář

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