如何使用WP_ERROR类显示错误消息?

时间:2013-02-04 作者:PrivateUser

我的functions.php 像这样归档

if (\'POST\' == $_SERVER[\'REQUEST_METHOD\'] && !empty($_POST[\'action\']) && $_POST[\'action\'] == \'registration\') {
       $error = new WP_Error();
        if (empty(esc_attr($_POST[\'email\'])))
        {
            $error->add(\'regerror\',\'Email is required.\');
        }
        if (!is_email(esc_attr($_POST[\'email\'])))
        {
            $error->add(\'regerror\',\'Invalid email format.\');

        }
        if (email_exists(esc_attr($_POST[\'email\'])))
        {
            $error->add(\'regerror\',\'Email already in use. Did you forget your Password? If yes click here to reset.\');

        }
}
现在有人能告诉我如何在我的register page?

更新:

我的注册页面有如下代码

<form method="post" action="<?php the_permalink(); ?>">
<!-- form fields goes here -->
<input name="action" type="hidden" value="registration" />
<input type="submit" id="submit" value="Register">
</form>

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

有了它functions.php 你可能需要申报$error 未来global 像这样:

if (\'POST\' == $_SERVER[\'REQUEST_METHOD\'] && !empty($_POST[\'action\']) && $_POST[\'action\'] == \'registration\') {
    global $error;
    $error = new WP_Error();
    // the rest of your code
然后做global $error; 在尝试使用之前,请在注册页面上再次显示。

但我不明白你为什么要把代码放进去functions.php. 对我来说,这似乎是个糟糕的设计。你正在运行if 有条件每次加载任何页面时,听起来您只需要在注册页面上使用它,我假设这是您自己编写的内容,而不是在wp-login.php.基于这种假设,只需将代码移动到注册页面,就可以轻松使用。WP_Error has methods will let you get at the data.

结束

相关推荐

更改WP_Link_Pages的链接属性

我想知道是否有任何方法可以更改wp\\u link\\u页面的实际链接本身。现在,我有一个简单的代码来显示帖子的分页,它如下所示:<?php wp_link_pages( array( \'before\' => \'<div class=\"link-pages\">\' . __(\'Pages:\', \'muimedia\'), \'after\' => \'</div>\',) ); ?>它显示分页后的内容,如下所示:页码:1 2 3第一页链接第二