web-dev-qa-db-fra.com

gestion des erreurs du plugin wordpress

Je cherche un moyen de gérer les erreurs pour un type d'article personnalisé avec ses propres champs personnalisés. Tout cela fait partie d'un plugin que j'écris, cependant, après des recherches approfondies, le seul moyen que j'ai trouvé est de le faire via des sessions (ou similaires) et de l'afficher à la page suivante (dans ce cas, les modifications seront enregistrées).

Existe-t-il un autre moyen de gérer les erreurs et d'empêcher WordPress de sauvegarder le type de publication si quelque chose ne va pas? Si c'est le cas, comment? J'ai pensé que la classe WP_Error fonctionnerait, mais sans chance.

Si quelqu'un peut aider, ce serait génial!

Merci!

4
Hosh Sadiq

WordPress a WP_Error class pour la vérification des erreurs et des messages d’erreur WordPress depuis la version 2.1.0. WordPress utilise un objet de la classe WP_Error pour signaler une erreur de plusieurs fonctions WP. Cependant, nous pouvons utiliser cet objet dans un plugin ou un thème pour gérer les erreurs dans WordPress. Cette classe contient une méthode très utile pour gérer les erreurs.

Toutes les méthodes

<?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)

Source et indice: plus d'informations sur cet article

3
bueltge