WordPress插件错误处理

时间:2012-02-06 作者:Hosh Sadiq

我正在寻找一种方法来处理带有自己自定义字段的自定义帖子类型的错误。这都是我正在编写的插件的一部分,然而,经过广泛的研究,我发现唯一的方法是通过会话(或类似的)并在下一页上显示它(在这种情况下,它会保存更改)。

如果出现问题,是否有其他方法处理错误并阻止WordPress保存帖子类型?如果是,怎么做?我认为WP\\U错误类可以工作,但运气不好。

如果有人能帮忙,那就太好了!

谢谢

1 个回复
SO网友:bueltge

WordPress拥有WP_Error 类,用于检查自版本2.1.0以来的WordPress错误和错误消息。WordPress使用对象WP_Error 用于报告多个WP函数的错误的类。然而,我们可以在插件或主题中使用此对象来处理WordPress中的错误。此类包含用于管理错误的非常有用的方法。

所有方法

<?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)
来源和提示:更多背景信息this post

结束

相关推荐

Displaying oEmbed errors?

有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。