Приветствую! Никому не приходилось прикручивать пошаговую регистрацию к wp-recall?
Т.е. пользователь заполнил поле "Имя" и кликнул "Далее", поле "Имя" исчезает -> появляется поле "E-mail", заполнил его и опять кликает "Далее"... и так несколько полей сменяют друг друга. В конце процесса кнопка "Завершить регистрацию". Смена полей происходит без перезагрузки страницы. Если приходилось делать - подскажите плагины или css/js решения, гугл не помог решить задачу.
Здравствуйте.
Не приходилось.
Хватит занудствовать ))
Как бы это сделал я:
У плагина есть функционал шаблонов
form-register.php отвечает за регистрацию. Структура его хорошо описана по ссылке.
Вот эти поля вы можете легко отловить. Скрывайте их (если надо оборачивайте в свои дивы). Далее на jquery чекайте их заполнение открывая кнопку "Далее". Ловите клик, открывайте следуюещее
Вижу что можно так по шагам:
1. Поле логина -> "Далее"
2. Поле пароля -> "Далее"
3. хук login_form (наверно там сидят все произвольные поля) -> "Далее"
Ну и запомнить меня и вроде всё...
Так я бы сделал "в лоб" можно конечно разобрать вп хук login_form и детально выцепить другие наборы полей.
Примерно так.
Необязательно можно использовать форму входа и регистрации от плагина wp-recall, можно создать свою форму и вывести ее на нужной странице, а уже в этой форме вывести все поля своим html-кодом, разделив поля по группам в блоки, показ которых описать в своем js-скрипте. За основу можно взять какую то готовую форму, например
Я привёл ее вот к такому виду:
<?php global $typeform; $f_reg = ($typeform == 'register') ? 'style="display:block;"' : ''; ?> <form action="<?php rcl_form_action( 'register' ); ?>" method="post" enctype="multipart/form-data"> <?php do_action( 'register_form' ); ?> <input required type="text" placeholder="<?php _e( 'Login', 'wp-recall' ); ?>" value="<?php echo $user_login; ?>" name="user_login" id="login-user"> <input required type="email" placeholder="<?php _e( 'E-mail', 'wp-recall' ); ?>" value="<?php echo $user_email; ?>" name="user_email" id="email-user"> <input type="submit" class="recall-button" name="submit-register" value="<?php _e( 'Signup', 'wp-recall' ); // Зарегистрироваться ?>"> <?php echo wp_nonce_field( 'register-key-rcl', 'register_wpnonce', true, false ); ?> <input type="hidden" name="redirect_to" value="<?php rcl_referer_url( 'register' ); ?>"> </form> <div class="notification"> <?php rcl_notice_form( 'register' ); ?> </div>
Сначала идут кастомные поля, затем login и e-mail, а вот поле "Пароль" так и осталось вверху первым.