manipulação de erros do plug-in do wordpress

4

Estou procurando uma maneira de lidar com erros para um tipo de postagem personalizado com seus próprios campos personalizados. Isso tudo é parte de um plugin que estou escrevendo, no entanto, após uma extensa pesquisa, a única maneira que encontrei é através de sessões (ou similar) e mostrá-lo na próxima página (caso em que salvaria as alterações).

Existe alguma outra maneira de lidar com erros e impedir que o WordPress salve o tipo de postagem se algo estiver errado? Se sim como? Eu imaginei que a classe WP_Error funcionaria, mas sem sorte.

Se alguém puder ajudar, seria ótimo!

Obrigado!

    
por Hosh Sadiq 06.02.2012 / 13:26

1 resposta

3

O WordPress tem a classe WP_Error para verificar erros do WordPress e mensagens de erro desde a versão 2.1.0. O WordPress usa o objeto da classe WP_Error para relatar erros de várias funções do WP. No entanto, podemos usar esse objeto no plug-in ou no tema para lidar com erros no WordPress. Esta classe contém um método útil para gerenciar erros.

Todos os 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)

Fonte e dica: mais informações sobre este post

    
por bueltge 06.02.2012 / 14:21