Titel klingt kontraintuitiv, aber ertrage es mit mir. :) :)
Ich habe eine Optionsseite, die mit der Einstellungs-API erstellt wurde. Wenn der Benutzer ungültige Daten eingibt, möchte ich beim add_settings_error()
Aufruf eine Fehlermeldung anzeigen .
Aber! Um festzustellen, dass die Daten ungültig sind, muss ich einen Remote-API-Aufruf durchführen. Dieser Aufruf basiert auf gespeicherten Daten. Daher kann ich dies beim Desinfektionsrückruf nicht tun (was empfohlen wird, um solche Benachrichtigungen auszulösen), da meine Daten noch nicht gespeichert sind.
Stattdessen hatte ich versucht, meinen Scheck einzuhaken admin_notices
. Es funktioniert die meiste Zeit einwandfrei, mit Ausnahme eines (und wichtigsten) Falls. Wenn Einstellungen gespeichert werden, folgen immer native Einstellungen. Hinweis und meine benutzerdefinierten Hinweise werden aus irgendeinem Grund vollständig ignoriert .
Wie kann ich diesen Fehlerhinweis auslösen, selbst wenn WP der Meinung ist, dass alles in Ordnung ist?
Bearbeiten
Fokussiertere Frage - warum genau Einstellungen gespeichert. übertrumpft irgendwelche anderen Hinweise?
PS Ich könnte versuchen, einen API-Aufruf zu veranlassen, Daten optional als Argument zu verwenden, anstatt sie aus der gespeicherten Option zu lesen, aber bisher denke ich, dass dadurch Argumente zu umfangreich werden.
get_settings_errors()
, an diesem Punkt wird der Transientenspeicher gelöscht, dann stellen Sie sieadd_settings_error()
nacheinander wieder her und fügen Ihren neuen hinzu. Jetzt wird der vorübergehende Speicher gelöscht und Sie haben alle im seitenlokalen Speicher, sodass sie beim nächsten Durchlaufsettings_errors()
abgefangen werden. Was denken Sie?