6ответ(ов) в теме
fourty
не в сети 9 лет
На сайте с 27.04.2015
Участник
1
00:11

Доброго времени суток.

Появилась необходимость добавить простенькую капчу при регистрации. К сожалению, при включенном плагине wp-recall фильтр registration_errors не работает. Если плагин отключить все работает отлично. В чем проблема?

add_filter('registration_errors', 'ij_check_captcha', 10, 1);
function ij_check_captcha($errors) {
$errors->add('ij_captcha', __( 'Ошибка: Защита от роботов не пройдена'));
return($errors);
}
Скрины:

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки
0
Вова (Otshelnik-Fm)
не в сети 15 часов
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
00:40

Против спам регистраций можете использовать функционал wp-recall

Вы не можете просматривать опубликованные ссылки

- 2 пункт (сам использую уже год - ниодин не прошел бот)

Или воспользоваться капчей Really Simple CAPTCHA -

Вы не можете просматривать опубликованные ссылки

- 3 пункт. Было проверено - она работает

0
fourty
не в сети 9 лет
На сайте с 27.04.2015
Участник
3
14:59

Спасибо. Неужели в плагине нет хука чтобы абортить регистрацию по некоторому условию? Если нет, то это большее упущение в плагине.

0
Андрей CS
не в сети 18 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
4
18:40

вам уже выше сообщили как "абортить" по условию, что то непонятно?

0
fourty
не в сети 9 лет
На сайте с 27.04.2015
Участник
5
21:01

Костыль с соглашением, который к программированию никакого отношения не имеет или ссылка на вообще продукт постороннего разработчика, опять же который не имеет никакого отношения к вопросу? Давайте упросим вопрос чтобы Вас слово "каптча" так не отвлекало от сути. Как используя плагин получить возможность _программно_ производить проверку введенных данных с возможностью отклонить регистрацию с выводом соответствующего сообщения через WP_ERROR? Я надеюсь увидеть не ссылку на костыли или джумлу, а кусочек кода, ссылку на документацию или признание того что такой возможности в плагине нет.

0
Андрей CS
не в сети 18 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
6
21:34

Я понял вопрос, отвечаю, что есть на данный момент:
В плагине есть хук pre_register_user_rcl. Для примера добавляем проверку заполненности повтора пароля в форме регистрации:

//Добавляем сообщение о неверном заполнении поле повтора пароля
add_filter('rcl_notice_form','rcl_notice_chek_register_pass');
function rcl_notice_chek_register_pass($notices){
    global $rcl_options;
    if(!isset($rcl_options['repeat_pass'])||!$rcl_options['repeat_pass']) return $notices;
    $notices['register']['error']['repeat-pass'] = __('Repeat password is not correct!','rcl');
    return $notices;
}
//Проверяем заполненность поля повтора пароля
add_action('pre_register_user_rcl','rcl_chek_repeat_pass');
function rcl_chek_repeat_pass($ref){
    global $rcl_options;
    if(!isset($rcl_options['repeat_pass'])||!$rcl_options['repeat_pass']) return false;
    if($_POST['secondary-email-user']!=$_POST['pass-user']){
        wp_redirect(rcl_format_url($ref).'action-rcl=register&error=repeat-pass');exit;
    }
}

0
Тема закрыта. Публикация новых сообщений запрещена.