Eine Hilfsfunktion für Admin-Benachrichtigungen
Wenn Sie Plugins oder sogar Themes für diese Angelegenheit erstellen und objektorientierte Praktiken in Ihre Arbeit integrieren, werden Sie wahrscheinlich mit irgendeiner Art von Serialisierung konfrontiert. Und einer der Aspekte der Serialisierung ist, dass sie irgendeine Art von Feedback für den Benutzer erfordert.
Dies kann eine Erfolgsmeldung, eine Fehlermeldung oder eine Meldung sein, die den Benutzer einfach warnt, dass etwas schief gelaufen ist oder vielleicht etwas aktualisiert werden sollte.
Was auch immer der Fall ist, WordPress bietet alle Einrichtungen, die wir brauchen; Wir können es uns jedoch noch einfacher machen, indem wir eine Hilfsfunktion für Admin-Benachrichtigungen schreiben. Es ist auch einfach.
Admin-Hinweise: Eine Hilfsfunktion
Wenn es darum geht, Admin-Mitteilungen zu schreiben, ist es wichtig, mit dem entsprechenden Haken vertraut zu sein.
Von dort aus müssen Sie auch die folgenden Klassennamen kennen:
- Hinweis-Fehler
- Hinweis-Erfolg
- Hinweis-Warnung
- Hinweis-Info
Damit ist es möglich, eine Hilfsfunktion zu schreiben, die den obigen Hook und eine anonyme Funktion (oder eine Closure) verwendet, um genau das zu erreichen, was Sie brauchen. Beachten Sie aber zunächst Folgendes:
Anonyme Funktionen, auch bekannt als Closures, ermöglichen die Erstellung von Funktionen, die keinen bestimmten Namen haben. Sie sind am nützlichsten als Wert von Callback- Parametern, aber sie haben viele andere Verwendungen.
Damit sollten Sie alles haben, was Sie zum Schreiben Ihres Helfers benötigen, und eine Vorstellung davon haben, wann Sie ihn leeren müssen.
Zuerst die Hilfsfunktion:
<?php
/**
* Provides an easy eay to display an administration notice based on the incoming
* class and message.
*
* @param string $class the class to add to the notice (warning, error, success)
* @param string $message the message to display in the administration notice area
*/
protected function displayAdminNotice($class, $message)
{
add_action(
'admin_notices',
function() use ($class, $message) {
printf(
'<div class="%1$s"><p>%2$s</p></div>',
esc_attr($class),
esc_html($message)
);
}
);
}
Nehmen wir als Nächstes an, dass die gestellte Anfrage ungültige Daten enthält. Um dies zu handhaben, würden Sie den obigen Helfer wie folgt verwenden:
<?php
if (!$this->hasValidInput()) {
$this->displayAdminNotice(
'notice notice-error',
'You must specify a valid email address and license key.'
);
}
Nehmen wir auf der anderen Seite an, dass alles gut funktioniert:
<?php
if (update_option('acme-option', $values)) {
$this->displayAdminNotice(
'notice notice-success',
'The options were updated successfully!'
);
}
Wie Sie sehen können, verwendet diese Funktion native WordPress-Hooks, Einrichtungen von PHP, und erstellt auch eine Methode, die auf Einheiten getestet werden kann, was wichtig ist, wenn Sie testbare Webanwendungen in WordPress schreiben möchten.
Und selbst wenn nicht, haben Sie eine einfachere Möglichkeit, Ihren Code etwas trockener zu halten als zuvor.