Zeigen Sie benutzerdefinierte Debug-Informationen innerhalb der Seite und nicht vor dem Kopf an

Ich lerne, ein Plugin in WordPress zu entwickeln.

Ich würde meine benutzerdefinierte Debug-Informationen innerhalb der Seite und nicht vor dem Kopf (so denke ich, es ist ein Haken Problem?).

Das ist mein Plugin-Code:

if (is_admin()) { require_once SVERBA__PLUGIN_DIR.'class.sverba-admin.php'; add_action( 'init', array( 'SverbaAdmin', 'init' ) ); if (SVERBA__DEBUG > 0) { add_action( 'init', array( 'SverbaAdmin', 'printDebug' ) ); } } 

Und das ist der class.sverba-admin.php Code (nur ein Teil, nicht alle):

 public function printDebug() { echo '
'; echo '

Variabili

'; echo '
    '; echo '
  • '.var_dump(self::$initiated).'
  • '; echo '
'; echo '
'; }

Es funktioniert, aber Debug-Informationen werden vor dem Kopf gedruckt. Ich möchte sie in der Seite, zum Beispiel im div mit der class “wrap”

Bildbeschreibung hier eingeben

Solutions Collecting From Web of "Zeigen Sie benutzerdefinierte Debug-Informationen innerhalb der Seite und nicht vor dem Kopf an"

Drucken Sie keine Debug-Informationen direkt in die Seite. WordPress bietet eine wp-content/debug.log Datei, die Sie verwenden können.

Aktivieren Sie debug und debug_log in Ihrer wp-config.php

 define( 'WP_DEBUG', true ); // turn debug mode on define( 'WP_DEBUG_DISPLAY', false ); // do not display errors define( 'WP_DEBUG_LOG', true ); // save errors to wp-content/debug.log define( 'SAVEQUERIES', true ); // save queries for debug 

Fügen Sie diese nützliche function Ihrer functions.php oder plugin Datei hinzu

 /** * Simple debug trace to wp-content/debug.log * @usage _log( $var ); */ if ( ! function_exists( '_log' ) ) { function _log( $log ) { if ( true !== WP_DEBUG ) { return; } if ( is_array( $log ) || is_object( $log ) ) { error_log( print_r( $log, true ) ); } else { error_log( $log ); } } } 

Verwenden Sie es in Ihrem Code, wenn Sie einige Debug-Informationen drucken müssen

 _log( $my_var ); 

Öffnen Sie wp-content/debug.log und sehen Sie wp-content/debug.log Daten dort. Ich behalte es normalerweise als eine angeheftete Datei in meiner IDE (PHPSstorm).