Um bei der Entwicklung von Plugins für WordPress nicht im Blindflug artbeiten zu müssen, sollte man das Debugging anstellen. Dieses geschieht, indem man in der Datei
"wp-config.php"
die Zeile
define('WP_DEBUG', false);
ändert.
Folgende Zeilen müssen stattdessen eingefügt werden:
// Turns WordPress debugging on
define('WP_DEBUG', true);
// Tells WordPress to log everything to the /wp-content/debug.log file
define('WP_DEBUG_LOG', true);
// Doesn't force the PHP 'display_errors' variable to be on
define('WP_DEBUG_DISPLAY', false);
// Hides errors from being displayed on-screen
@ini_set('display_errors', 0);
Eine gute Idee ist natürlich, vorher eine Sicherungskopie der Datei anzulegen.
Wenn diese Einstellungen gemacht sind, erhält man zum Beispiel eine solche Meldung in der neu angelegten Datei /wp-content/debug.log:
[15-Feb-2011 20:09:14] PHP Notice: get_usermeta is deprecated since version 3.0! Use get_user_meta() instead. in C:\Code\Plugins\wordpress\wp-includes\functions.php on line 3237
Die Datei „debug.log“ gibt also eine gute Hilfe bei der Entwicklung.
Will man nun eigene Meldungen ausgeben, benötigt man folgende Funktion in den PHP-Dateien:
function log_me($message) {
if (WP_DEBUG === true) {
if (is_array($message) || is_object($message)) {
error_log(print_r($message, true));
} else {
error_log($message);
}
}
}
Die Funktion ruft man in dieser Form auf:
log_me(array('This is a message' => 'for debugging purposes'));
log_me('This is a message for debugging purposes');
Gefunden bei www.smashingmagazine.com