it-swarm.com.de

wordPress Plugin Fehlerbehandlung

Ich suche nach einer Möglichkeit, Fehler für einen benutzerdefinierten Beitragstyp mit eigenen benutzerdefinierten Feldern zu behandeln. Dies ist alles Teil eines Plugins, das ich schreibe. Nach umfangreichen Nachforschungen habe ich es jedoch nur durch Sitzungen (oder ähnliches) gefunden und auf der nächsten Seite angezeigt (in diesem Fall würden die Änderungen gespeichert).

Gibt es eine andere Möglichkeit, Fehler zu behandeln und zu verhindern, dass WordPress den Beitragstyp speichert, wenn etwas nicht stimmt? Wenn das so ist, wie? Ich dachte, die WP_Error-Klasse würde funktionieren, aber ohne Glück.

Wenn jemand helfen kann, wäre das toll!

Vielen Dank!

4
Hosh Sadiq

WordPress hat WP_Error class zum Überprüfen von WordPress-Fehlern und Fehlermeldungen seit Version 2.1.0. WordPress verwendet das Objekt der Klasse WP_Error, um Fehler von mehreren WP Funktionen zu melden. Wir können dieses Objekt jedoch in Plugins oder Themes verwenden, um Fehler in WordPress zu behandeln. Diese Klasse enthält eine sehr nützliche Methode zum Verwalten von Fehlern.

Alle Methoden

<?php
//Creating instance of error class
$error = new WP_Error( 'not_found', 'Page Not Found', 'Page Data' );

//Add new error to object
$error->add( 'not_match', 'Field Not Match' );

//Return all error codes from object
$data = $error->get_error_codes();
print_r( $data );
//Output: Array ( [0] => not_found [1] => not_match )

//Return first error code
echo $error->get_error_code();
//Output: not_found

//Return all error message
$data = $error->get_error_messages();
print_r( $data );
//Output: Array ( [0] => Page Not Found [1] => Field Not Match )

//Return error message by error code
$data = $error->get_error_messages( 'not_match' );
print_r( $data );
//Output: Array ( [0] => Field Not Match )

//Return first error message if no code are given
echo $error->get_error_message();
//Output: Page Not Found

//Return first error message for given error code
echo $error->get_error_message( 'not_match' );
//Output: Field Not Match

//Return first error data
echo $error->get_error_data();
//Output: Page Data

//Return error data from error code.
echo $error->get_error_data( 'not_found' );
//Output: Page Data

//add error data to error code
//syntex: add_data( $data, $code );
$error->add_data( 'Some data', 'not_match' );
echo $error->get_error_data( 'not_match' );
//Output: Some data

//Check whether variable is a WordPress Error.
//return bool True, if WP_Error. False, if not WP_Error.
$data = is_wp_error( $error );
var_dump( $data );
//Output: bool(true)

Quelle und Hinweis: mehr Hintergrundinformationen zu diesem Beitrag

3
bueltge