Anzeige von Fehlern mit Einstellungen api

Ich benutze nicht die vollständigen Einstellungen api, nur diesen Code:

register_setting( 'my_options', 'my_options', 'my_options_validate' ); 

Dann meine Bestätigung:

  $options = get_option('my_options'); if(error_found){ add_settings_error( 'my_options', 'settings_updated', 'error_message_here', 'error'); } return $options; 

Aber beim Postback werden keine Fehler angezeigt. Also meine Fragen sind:

stellt es einfach eine Fehlermeldung in seiner Anzeige ein? Muss ich die vollständigen Einstellungen api verwenden, damit Fehler angezeigt werden? Muss ich etwas tun, um die “Einstellungen aktualisiert” -Nachricht beim Postback zu deaktivieren?

Ich habe versucht, settings_errors verwenden, aber keine Fehler angezeigt.

Solutions Collecting From Web of "Anzeige von Fehlern mit Einstellungen api"

Nein, Sie müssen einen Aufruf zu settings_errors hinzufügen

 /** * Displays all messages registered to 'your-settings-error-slug' */ function your_admin_notices_action() { settings_errors( 'your-settings-error-slug' ); } add_action( 'admin_notices', 'your_admin_notices_action' ); 

Andernfalls werden die Fehler, die Sie hinzugefügt haben, nicht angezeigt. Sie können auch überprüfen, ob error_found wahr ist. Es ist keine WordPress-Konstante, die ich erkenne, also nehme ich an, dass es Teil Ihres Codes ist (und nicht gesetzt wurde) (außerdem fehlt am Anfang ein $ -Zeichen).

Es besteht auch die Möglichkeit, dass keine Fehler aufgetreten sind oder dass Ihre validation ungültige Fälle passieren lässt.

Ich hatte ein ähnliches Problem, als ich mein Argeforge WordPress Plugin entwickelte. Ich wollte nicht zulassen, dass errorshafte Eingaben in die database gelangen, aber ich wollte dem Benutzer eine Chance geben, seine Eingaben zu korrigieren. Nach vielen kreativen processen habe ich eine Methode entwickelt, die funktioniert. Sie müssen keinen wp_redirect oder einen Würfel () machen. Der Hauptgrund besteht darin, dass Sie die Benutzereingabe während der Überprüfung mit der der vorhandenen Optionen abschalten und stattdessen diese Werte zurückgeben.

Sie können meinen Blogpost für eine detaillierte Beschreibung des processes, den ich befolgte, besuchen.