wordpress plugin manejo de errores

4

Estoy buscando una manera de manejar los errores para un tipo de publicación personalizada con sus propios campos personalizados. Todo esto es parte de un complemento que estoy escribiendo, sin embargo, después de una investigación exhaustiva, la única forma que encontré es a través de sesiones (o similar) y mostrarlo en la página siguiente (en cuyo caso se guardarán los cambios).

¿Hay alguna otra forma de manejar los errores y evitar que WordPress guarde el tipo de publicación si algo está mal? ¿Si es así, cómo? Pensé que la clase WP_Error funcionaría, pero sin suerte.

Si alguien puede ayudar, ¡eso sería genial!

¡Gracias!

    
pregunta Hosh Sadiq 06.02.2012 - 13:26

1 respuesta

3

WordPress tiene la clase WP_Error para verificar los errores y mensajes de error de WordPress desde la versión 2.1.0. WordPress usa el objeto de la clase WP_Error para informar errores de varias funciones de WP. Sin embargo, podemos usar este objeto en un complemento o tema para manejar el error dentro de WordPress. Esta clase contiene un método muy útil para gestionar el error.

Todos los métodos

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

Fuente y sugerencia: más información sobre esta publicación

    
respondido por el bueltge 06.02.2012 - 14:21

Lea otras preguntas en las etiquetas