在表单验证期间一起显示所有WP错误

时间:2011-05-26 作者:Harjeet Singh

我有一个自定义的前端页面,用户可以从中发帖。所有都可以正常工作,但如果有多个字段为空,则所有空字段的错误应一起显示。现在代码只显示它检测到的第一个空字段的错误。代码为:

    $errors = new WP_Error();

    if (isEmptyString($title_stripped))
    $errors->add(\'empty_title\', __(\'Please enter a title\'));

    if (isEmptyString($description_stripped))
    $errors->add(\'empty_desc\', __(\'Enter a breif description\'));

    if (isEmptyString($content_stripped))
    $errors->add(\'empty_content\', __(\'Please enter your article here\'));

    return $errors;

Edit : Solved

抱歉打扰了。这是我的另一个函数,它将错误限制为只回显一次。以下是之前的代码:

function display_message( $message = false ) {
    if( is_wp_error( $message ) ) {
        echo \'<div class="error"><p>\' . $message->get_error_message() . \'</p></div>\';  
    }
我把它也改了,效果很好:

function display_message( $message = false ) {
    if( is_wp_error( $message ) ) {
        echo \'<div class="error"><p>\';
        foreach ( $message->get_error_messages($code) as $error ) {
        echo $error . "<br />\\n";  
        }
        echo \'</p></div>\';  
    }

1 个回复
最合适的回答,由SO网友:Harjeet Singh 整理而成

抱歉打扰了。这是我的另一个函数,它将错误限制为只回显一次。以下是之前的代码:

function display_message( $message = false ) {
    if( is_wp_error( $message ) ) {
        echo \'<div class="error"><p>\' . $message->get_error_message() . \'</p></div>\';   
    }
我把它也改了,效果很好:

function display_message( $message = false ) {
    if( is_wp_error( $message ) ) {
        echo \'<div class="error"><p>\';
        foreach ( $message->get_error_messages($code) as $error ) {
        echo $error . "<br />\\n";   
        }
        echo \'</p></div>\';  
    }

结束

相关推荐

Displaying oEmbed errors?

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