Здравствуйте, спасибо за плагин, замечательная идея!
Не могу разобраться с фильтрами.
У меня есть задача, сделать форму с собственной разметкой и собственным порядком полей (как полей по умолчанию, так и произвольных полей).
К примеру,
логин
емейл
пароль
повтор пароля
произвольные поля
Что я хочу сделать
Произвольное поле 1
Произвольное поле 2
логин
Произвольное поле 3
емейл
Произвольное поле 4
пароль
повтор пароля
Произвольное поле 5
Произвольное поле 6
Понимаю что либо фильтр нужен register_form, но как всё собрать вместе не представляю.
Я пробовал меня form-register.php, но это все получается вокруг да около.
Подскажите если есть такой функционал и как это можно реализовать?
Ну если имена metakey использовать - то другие модули будут верно работать.
Ваш вопрос достаточно не простой и глубоко надо смотреть в плагине. Я не готов столько времени выделить на это.
Попробуйте в заданиях найти исполнителя
ну или может кто еще отпишется в этой теме.
Андрей, а подскажите условно
<form action="<?php rcl_form_action( 'register' ); ?>" method="post" enctype="multipart/form-data"> <div class="form-block-rcl default-field"> //Произвольное поле 1 <input required type="text" placeholder="<?php _e( 'Login', 'wp-recall' ); ?>" value="<?php echo $user_login; ?>" name="user_login" id="login-user"> <i class="rcli fa-user"></i> <span class="required">*</span> </div> //Произвольное поле 2 <div class="form-block-rcl default-field"> <input required type="email" placeholder="<?php _e( 'E-mail', 'wp-recall' ); ?>" value="<?php echo $user_email; ?>" name="user_email" id="email-user"> <i class="rcli fa-at"></i> <span class="required">*</span> </div> //Произвольное поле 3 //Т.е. ниже можно код закоментить? <div class="form-block-rcl form_extend"> <?php do_action( 'register_form' ); ?> </div> <div class="form-block-rcl"> <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 ); ?></code> <input type="hidden" name="redirect_to" value="<?php rcl_referer_url( 'register' ); ?>"> </div> </form>
А каким образом тогда их вызывать?
Как-то так?
<?php $произвольное_поле = (isset( $_REQUEST['произвольное_поле'] )) ? wp_strip_all_tags( $_REQUEST['произвольное_поле'], 0 ) : ''; > <?php echo $произвольное_поле; ?>
Я бы накидал вспомогательную функцию для вывода полей блоками, например:
function rcl_get_fields_register_form($regFields){ $content = ''; $CF = new Rcl_Custom_Fields(); foreach ( $regFields as $field ) { $class = (isset( $field['class'] )) ? $field['class'] : ''; $id = (isset( $field['id'] )) ? 'id=' . $field['id'] : ''; $attr = (isset( $field['attr'] )) ? '' . $field['attr'] : ''; $content .= '<div class="form-block-rcl ' . $class . '" ' . $id . ' ' . $attr . '>'; $star = ($field['required'] == 1) ? ' <span class="required">*</span> ' : ''; if ( $title = $CF->get_title( $field ) ) { $content .= '<label>' . $title . $star; if ( $field['type'] ) $content .= '<span class="colon">:</span>'; $content .= '</label>'; } $value = (isset( $_POST[$field['slug']] )) ? $_POST[$field['slug']] : false; $content .= $CF->get_input( $field, $value ); $content .= '</div>'; } return $content; }
Передайте в функцию массив нужных полей согласно мануалу
и она отдаст html-контент полей, который останется только разместить в нужном месте.