Как отображать сообщения об ошибках с помощью класса ошибок WP?


У меня есть код регистрационной формы в моем файле 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>
Author: PrivateUser, 2013-02-04

1 answers

С этим в 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 есть методы, которые позволят вам получить доступ к данным.

 3
Author: s_ha_dum, 2013-02-04 05:40:15