Здравствуйте, спасибо за плагин, замечательная идея!
Не могу разобраться с фильтрами.
У меня есть задача, сделать форму с собственной разметкой и собственным порядком полей (как полей по умолчанию, так и произвольных полей).
К примеру,
логин
емейл
пароль
повтор пароля
произвольные поля
Что я хочу сделать
Произвольное поле 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-контент полей, который останется только разместить в нужном месте.