WordPress PlugIn Entwicklung

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