WordPress's WP_Error
Klasse bietet einen einfachen und leistungsstarken Fehlerbehandlungsmechanismus zum Verwalten und Ändern von Fehlern in Anwendungen. Es ist einfach, sich in Ihre Anwendung zu integrieren, mit den von WordPress -Kernfunktionen zurückgegebenen Fehler zu integrieren und benutzerdefinierte Fehlermeldungen zu erstellen, um die Benutzererfahrung zu verbessern. Darüber hinaus können praktische Funktionen wie is_wp_error
prüfen, ob der Variable- oder Funktionsrückgabewert eine Instanz von WP_Error
ist, wodurch die Probleme effizient debuggen.
Egal wie geschickt und akribisch Ihr Code geschrieben ist, Fehler können in keinem Entwicklungsprozess vermieden werden. Als WordPress -Entwickler liegt es in Ihrer Verantwortung, sicherzustellen, dass alle Codefehler korrekt behandelt werden, ohne den Endbenutzer zu beeinflussen. WordPress verfügt über eine grundlegende Fehlerhandhabungsklasse WP_Error
, die für die grundlegende Fehlerbehandlung in Ihren Code integriert werden kann.
Dieses Tutorial untersucht die Grundstruktur und die Arbeitsprinzipien von WP_Error
Klassen. Vor allem werden wir vorstellen, wie Sie WP_Error
Klassen in Ihre Anwendung integrieren.
WP_Error
Detaillierte Erläuterung der Kategorie WP_Error
Die Klasse hat eine einfache, aber leistungsstarke Funktion, die ausreicht, um als Fehlerbehandlungsmechanismus für Plug-Ins verwendet zu werden. Sein Quellcode befindet sich in der Datei wp-includes/class-wp-error.php
. Schauen wir uns seine Eigenschaften und Methoden an.
WP_Error
Es gibt nur zwei private Attribute: $errors
und $error_data
. $errors
wird verwendet, um verwandte Fehlermeldungen zu speichern, während $error_data
optional zum Speichern relevanter Daten verwendet wird, auf die Sie später zugreifen möchten. WP_Error
Verwenden Sie einfache Schlüsselwertpaare, um verwandte Fehler und Daten in ein Objekt zu speichern. Daher müssen die in WP_Error
definierten Tasten eindeutig sein, um die zuvor definierten Tasten zu vermeiden.
WP_Error
bietet verschiedene Möglichkeiten, um die beiden enthaltenden Eigenschaften zu ändern. Schauen wir uns ein paar an:
get_error_codes()
: Gibt alle verfügbaren Fehlercodes für eine bestimmte WP_Error
-Schunierung zurück. Wenn nur der erste Fehlercode benötigt wird, ist eine andere separate Funktion verfügbar. get_error_code()
get_error_messages( $code )
nicht bereitgestellt wird, gibt die Funktion einfach alle in der spezifischen $code
gespeicherten Nachrichten zurück. Wenn Sie nur eine Nachricht mit einem bestimmten Fehlercode zurückgeben müssen, verwenden Sie einfach WP_Error
. get_error_message( $code )
add( $code, $message, $data )
-Objekten gespeichert sind. Beachten Sie, dass auch wenn WP_Error
und $message
nicht erforderlich sind, die $data
Variablen trotzdem gefüllt werden. $errors
add_data( $data, $code)
nur ändern möchten, können Sie diese Funktion verwenden. Beachten Sie, dass sich der Parameter $error_data
in der zweiten Position entgegen der $code
-Methode befindet. Wenn nicht add
angegeben ist, werden die Fehlerdaten zum ersten Fehlercode hinzugefügt. $code
remove( $code )
ist? Sie können mithilfe einer Versorgungsfunktion WP_Error
prüfen, die basierend auf der angegebenen Variablen True oder False zurückgibt. is_wp_error()
is_wp_error( $thing )
eine Instanz von $thing
ist, ansonsten return false. WP_Error
WP_Error
intern funktioniert. Sie müssen auch lernen, wie man es in Ihrer eigenen Anwendung gut implementiert. Nehmen wir ein paar Beispiele, um besser zu verstehen, wie es funktioniert. WP_Error
ist beispielsweise
eine sehr nützliche Funktion, mit der wir eine Remote -Postanforderung an eine bestimmte URL erstellen können. Wir können jedoch nicht erwarten, dass die Remote -URL immer zugänglich ist, oder unsere Anfragen sind immer erfolgreich. Wir wissen von der manuellen Seite, dass diese Funktion wp_remote_post
zurückgibt, wenn sie fehlschlägt. Dieses Wissen hilft uns, die Fehlerbehandlung in unserer Anwendung korrekt zu implementieren. WP_Error
// 向远程 URL $url 发出请求 $response = wp_remote_post( $url, array( 'timeout' => 30, 'body' => array( 'foo' => 'bar' ) ) ); if ( is_wp_error( $response ) ) { echo 'ERROR: ' . $response->get_error_message(); } else { // 执行某些操作 }
durch. Anstatt einfach die $url
-Daten so zu erhalten, wie sie sind, führen wir einige Überprüfungen mit der zuvor eingeführten Funktion $response
durch. Wenn alles funktioniert, können wir weiterhin das tun, was wir mit is_wp_error
machen wollen. $response
Angenommen, Sie haben eine benutzerdefinierte Funktion, die die Einreichung eines Kontaktformulars namens handle_form_submission
übernimmt. Nehmen wir an, wir richten irgendwo ein benutzerdefiniertes Formular ein. Sehen wir uns an, wie wir die Funktion verbessern können, indem wir unsere eigenen Fehlerbehandlungsfunktionen implementieren.
// 向远程 URL $url 发出请求 $response = wp_remote_post( $url, array( 'timeout' => 30, 'body' => array( 'foo' => 'bar' ) ) ); if ( is_wp_error( $response ) ) { echo 'ERROR: ' . $response->get_error_message(); } else { // 执行某些操作 }
Natürlich müssen Sie auch Ihre eigene Reinigung und Überprüfung in diesen Funktionen implementieren, dies liegt jedoch nicht im Rahmen dieses Tutorials. Wenn wir wissen, dass wir die WP_Error
-Schelle, wenn wir fehlerfrei sind, korrekt zurückgeben, können wir es verwenden, um dem Endbenutzer aussagekräftigere Fehlermeldungen bereitzustellen.
Angenommen, es gibt einen bestimmten Teil in Ihrer Anwendung, bei dem die Formulierungsfehler angezeigt werden. Dies können Sie dies tun:
function handle_form_submission() { // 在此处执行你的验证、nonce 等操作 // 实例化 WP_Error 对象 $error = new WP_Error(); // 确保用户提供名字 if ( empty( $_POST['first_name'] ) ) { $error->add( 'empty', 'First name is required' ); } // 也需要姓氏 if ( empty( $_POST['last_name'] ) ) { $error->add( 'empty', 'Last name is required' ); } // 检查电子邮件地址 if ( empty( $_POST['email'] ) ) { $error->add( 'empty', 'Email is required' ); } elseif ( ! is_email( $_POST['email'] ) ) { $error->add( 'invalid', 'Email address must be valid' ); } // 最后,检查消息 if ( empty( $_POST['message'] ) ) { $error->add( 'empty', 'Your message is required' ); } // 发送结果 if ( empty( $error->get_error_codes() ) ) { return true; // 没有错误 } // 有错误 return $error; }
bemüht sich, sich in der Softwareentwicklung zu übertreffen, bedeutet auch, zu wissen, was zu tun ist, wenn Ihr Code nicht das tun kann, was er tun sollte, und sicherzustellen, dass Ihre Anwendung sie anmutig behandeln kann.
Für WordPress bietet die Verwendung der enthaltenen WP_Error
-Klasse eine ziemlich einfache, aber leistungsstarke Implementierung der Fehlerbehandlung, die Sie in Ihre Anwendung integrieren können.
(Die externen Referenzen und FAQ-Abschnitte im Originaltext werden hier weggelassen, da sie direkte Kopien des Originaltextes sind und die Anforderungen der Pseudooriginalität nicht erfüllen.)
Das obige ist der detaillierte Inhalt vonEine Einführung in die WP_Error -Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!