Wie kann man eine Exception oder einen Echo String nach dem Posten im Plugin korrekt anzeigen?

Ich entwickle ein kleines Plugin, aber ich stehe fest, als ich nach dem Posten in einem Formular versuchte, Exception oder Erfolgsmeldung anzuzeigen.

Hier ist mein Code:

class Parametres_Plugin { public function __construct() { add_filter('wp_title', array($this, 'modify_page_title'), 20) ; register_activation_hook(__FILE__, array('Parametres_Plugin', 'install')); register_uninstall_hook(__FILE__, array('Parametres_Plugin', 'uninstall')); add_action('admin_menu', array($this, 'addAdminMenu')); add_action('admin_menu', array($this, 'addAdminSousMenu'), 20); add_action('wp_loaded', array($this, 'saveParametre')); ... Other things ... } public function saveParametre(){ try{ ... Do something ... if($var){ echo 'Sucess'; }else{ echo 'Failed'; } } catch (Exception $e){ echo 'Erreur: '.$e->getMessage()."\n"; } } 

Aber wenn ich das mag, wird meine Nachricht am Anfang des Codes angezeigt und nicht am Anfang meines Formulars. Was muss ich tun, um das zu bekommen?

Ich habe versucht, meine Zeichenfolge in eine Var-Session zu setzen, sie anzuzeigen, wenn sie im Formular vorhanden ist, und sie danach zu löschen. Aber ich bin mir sicher, dass ich etwas verpasse.

Danke im Voraus !

Solutions Collecting From Web of "Wie kann man eine Exception oder einen Echo String nach dem Posten im Plugin korrekt anzeigen?"

Laut den Kommentaren ist die Verwendung globaler Variablen die geeignete Lösung, da Sie benutzerdefinierte Nachrichten aus den Headern speichern möchten, die später mit dem Markup angezeigt werden, und die Verwendung von Sitzungen führt nur zu zusätzlichem Code und zusätzlicher Speicherauslastung (performance) kann die Dinge einfach halten.

Wenn Sie eine Nachricht aus Ihrer class drucken, wird sie oben gedruckt, da WordPress die Ausgabe noch nicht gestartet hat.

Versuche dies:

 public function saveParametre() { global $my_plugin_message; try { #... Do something ... if ($var) { $my_plugin_message = 'Sucess'; } else { $my_plugin_message = 'Failed'; } } catch (Exception $e) { $my_plugin_message = 'Erreur: '.$e->getMessage()."\n"; } } 

Überprüfen Sie nun bei der Ausgabe Ihres Formulars auf die globale var $my_plugin_message :

  < ?php global $my_plugin_message; if ( isset( $my_plugin_message ) ) : ?> < ?php echo esc_attr( $my_plugin_message ); ?> < ?php endif; ?>  

Das ist einer der vielen Vorteile globaler Variablen. Froh, dass es geholfen hat.