В плагине WP-Recall достаточно симпатичные формы авторизации, регистрации и восстановления пароля. Так же при вызове всплывающей формы маскируются ссылки на стандартные URL WordPress. Так же многие меняют адрес входа в админ-панель со стандартного http://site.ru/wp-admin/ на http://site.ru/my/wp-admin/ . И вроде все хорошо, при вызове форм авторизации, регистрации адрес админ-панели не виден, но при ошибке выдается сообщение: «Забыли пароль?». Стандартное вордпрессовское сообщение с ссылкой на восстановление пароля, а в этой ссылке просматривается полностью адрес админ- панели. Согласитесь, это не хорошо. Да и стандартное сообщение может выглядеть покрасивее.
Поменять вывод ошибок под свои достаточно просто. Надо в файл functions.php добавить код, который будет менять вывод стандартных ошибок на пользовательские.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
function My_login_errors(){ global $wp_errors; foreach ( $wp_errors->get_error_codes() as $code ) { switch ( $code ) { case 'wpc_captcha_error': $errors = "<strong>Ошибка</strong>.<br />Пожалуйста, введите значение каптчи."; break; case 'wpc_captcha_blank': $errors = "<strong>Ошибка</strong>.<br />Пожалуйста, введите значение каптчи."; break; case 'email_exists': $errors = "<strong>Ошибка</strong>.<br />Введенный e-mail уже зарегистрирован."; break; case 'username_exists': $errors = "<strong>Ошибка</strong>.<br />Введенный логин уже зарегистрирован."; break; case 'empty_username': $errors = "<strong>Ошибка</strong>.<br />Вы не забыли указать свой e-mail или логин?"; break; case 'empty_password': $errors = "<strong>Ошибка</strong>.<br />Пожалуйста, введите пароль."; break; case 'invalid_username': $errors = "<strong>Ошибка</strong>.<br />Неверный логин или пароль."; break; case 'incorrect_password': $errors = sprintf( "<strong>Ошибка</strong>.<br />Неверный логин или пароль."); break; case 'expiredkey': case 'invalidkey': $errors = "<strong>Ошибка</strong>.<br />Недействительный ключ."; break; } } return $errors; } add_filter('login_errors','My_login_errors'); |
Так же поступаем и с системными сообщениями:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function My_login_messages(){ global $wp_errors; foreach ( $wp_errors->get_error_codes() as $code ) { switch ( $code ) { case 'confirm': $messages = 'Инструкции по сбросу пароля отправлены на ваш email.'; break; case 'changed': $messages = 'Пароль успешно изменён.'; break; } } return $messages; } add_filter('login_messages','My_login_messages'); |