Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Сделать доп.поле с проверкой на уникальность аналогично login и email
8ответ(ов) в теме
SerPoGio
не в сети 3 года
На сайте с 22.05.2020
Участник
Тем 2
Сообщения 8
1
23:30
Версия WP-Recall: 16.18.20

Здравствуйте. Задача такая:

В отношение полей логин и email применяются условия проверки на уникальность: в базе не может быть двух и более пользователей с одинаковым логином, либо email. И при попытке регистрации, скажем, на email, имеющийся в базе - выскакивает предупреждение, что такой email уже используется.

Вопрос: как подобное условие на проверку уникальности ввести для дополнительного (пользовательского поля)?

0
Вова (Otshelnik-Fm)
не в сети 2 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
00:16

Здравствуйте.

Перенесено в кастомизации. Это не проблема плагина.

SerPoGio сказал(а)
Задача такая

Задания публикуются тут

Вы не можете просматривать опубликованные ссылки
0
SerPoGio
не в сети 3 года
На сайте с 22.05.2020
Участник
Тем 2
Сообщения 8
3
09:37

Ок. Пусть будет кастомизация. Но ведь практически задача должна сводиться к небольшому фрагменту кода, который будет запрашивать в базе данных информацию о том, имеется ли уже в таком поле (с пользовательским именем) значение, аналогичное тому, что вводит пользователь.

Вопрос в том, куда этот фрагмент кода вставить и как он должен выглядеть (возможно, так же, как он выглядит для логина и email).

Этот вопрос звучит невыполнимо?

0
SerPoGio
не в сети 3 года
На сайте с 22.05.2020
Участник
Тем 2
Сообщения 8
4
09:44

Возможно, задачей плагина может быть следующая. Меня устроит и решение такой задачи:

"Как переименовать имя поля логин (только отображаемое; техническое user_login трогать не нужно)?
Как разрешить ввод кириллицы в логин?
Как сделать вход (wp-recall) по email?"

Эта вариация (когда вход возможен по email, который и служит логином для входа в систему) - вполне распространена.

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

В вашем случае, ничего никуда вставлять не надо, необходимо использовать фильтр "rcl_registration_errors", где вы сделаете запрос в БД на получение переданных через форму регистрации емейла и логина, если есть совпадение, то возвращаете ошибку.
Пример реализации можно увидеть в файле /functions/register.php на строке 339.
Запрос нужно посылать в таблицу wp_users с помощью глобального объекта

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

Я думаю, я достаточно подробно описал порядок реализации вашей задачи.

0
SerPoGio
не в сети 3 года
На сайте с 22.05.2020
Участник
Тем 2
Сообщения 8
6
12:57

Андрей CS сказал(а)
В вашем случае, ничего никуда вставлять не надо, необходимо использовать фильтр "rcl_registration_errors", где вы сделаете запрос в БД на получение переданных через форму регистрации емейла и логина, если есть совпадение, то возвращаете ошибку.
Пример реализации можно увидеть в файле /functions/register.php на строке 339.
Запрос нужно посылать в таблицу wp_users с помощью глобального объекта

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

Я думаю, я достаточно подробно описал порядок реализации вашей задачи.

Спасибо за ответ!
Но в строке 339 речь идет о проверке повторного ввода пароля.

add_filter( 'rcl_registration_errors', 'rcl_chek_repeat_pass' );
function rcl_chek_repeat_pass( $errors ) {
и так далее

Я уже переформулировал задачу. Чтобы не городить огород:
1) Вполне достаточно, чтобы можно было изменить отображаемое имя поля логин (техническое название user_login оставить без изменений). И чтобы в форме регистрации поле было подписано, например: "ФИО сотрудника".
2) Для поля логин разрешить кириллицу.
3) А также необходимо, чтобы для авторизации использовалось исключительно поле email вместо логина.

Буду признателен за ответ. 🙂

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

Я дал ответ на вопрос озвученный в первом сообщении этого топика, но пока вижу, что вы все проигнорировали.
Куда публикуются задачи, даже переформулированные, сообщили выше.

0
SerPoGio
не в сети 3 года
На сайте с 22.05.2020
Участник
Тем 2
Сообщения 8
8
16:28

Хорошо, я задам вопрос в топике "Вопросы и ответы"

0
Вы не имеете права на публикацию сообщений в этой теме