Debuggen van je WordPress website

Als je bezig bent met de ontwikkeling van een WordPress website, hetzij op een locale server, hetzij live met maintanance mode aan loop je altijd tegen problemen c.q. fouten aan. Dit zijn ofwel programmeerfouten, meestal gerelateerd aan PHP programmeerfouten dan wel CSS of JavaScript fouten. Ik herinner mij de eerste ervaring met “the white screen of death” nog erg goed. Om deze fouten eruit te halen en te vermijden zijn de volgende methodes beschikbaar.
PHP Debug technieken
Om PHP fouten te debuggen: lege arrays of functies die niet werken kan deze code erg handig zijn:
print_r( $post ); die();
Hiermee kun je de variabele of functie printen en zaken in de broncode terugzien
Om fouten in je programmeerwerk te zien als je lokaal werkt is het ook handig om te zien of errormeldingen aanstaan in je php.ini en deze indien nodig aan te zetten:
display_errors = Off error_reporting = E_ALL
WordPress ingebouwde PHP Debug oplossingen
Plaats de volgende code in wp-config.php:
define( 'WP_DEBUG', true );
Hiermee zal WordPress alle PHP fouten die er mochten zijn tonen en ook aangeven wanneer bepaalde WP functies niet langer meer in gebruik zijn. Een ideaal stuk gereedschap!`Niet vergeten dat als je op een live server werkt, iedereen deze errors kan zien tenzij je maintenance mode hebt aanstaan.Als
display_errors=true
is in je PHP.ini of je .htaccess staat en de server die override toestaat dan zullen de errors sowieso worden weergegeven, maar op een hosted service is dit als het goed is niet het geval aangezien dit een veiligheidsrisico is. Vandaar dat deze code zeer handig is bij testen op een webhosting server.
Ander meer specifiek gebruik van WP_DEBUG
Een andere optie om errors alleen weer te geven aan de developer
@ini_set('display_errors',0); if( 'development_user' === DB_USER ){ define('WP_DEBUG', true); // Turn debugging ON define('WP_DEBUG_DISPLAY', false); // Turn forced display OFF define('WP_DEBUG_LOG', true); // Turn logging to wp-content/debug.log ON }
Hiermee worden alleen errors weergegeven als een “bepaalde” databasegebruiker wordt gebruikt. Tevens worden de errors opgeslagen onder wp-content/debug.log
Script Debugging
Firebug
Mocht je CSS of JavaScript problemen hebben grijp je natuurlijk naar de favoriete Firefox debugger Ad-On Firebug. De ideale tool om met name CSS problemen op te lossen, maar ook om te zien he JavaScript werkt en waar de fouten zitten. Firebug is een visuele tool die je toe kan voegen aan Firefox webbrowser en waarmee je je website in ontwikkeling kan analyseren en live kan testen door zaken te wijzigen in de CSS. Zodra je de site weer ververst (browser cache legen) zijn de wijzigingen weer verdwenen. Ideaal dus om wat uit te proberen voordat je de zaken daadwerkelijk wijzigt.
WordPress script debugging
Echter, WordPress heeft ook een optie voor je:
define( 'SCRIPT_DEBUG', true );
Een stuke php die je ook in wp-config.php moet plaatsen en waarmee je css en javascript kunt debuggen. Deze optie hebben wij echter nog nooit gebruikt aangezien we hier meestal Firebug voor gebruiken.
Bronnen
http://www.andrewnacin.com/2010/04/23/5-ways-to-debug-wordpress/
http://fuelyourcoding.com/simple-debugging-with-wordpress/
http://www.ibm.com/developerworks/library/os-debug/