Вопрос

Любые идеи?

Это было полезно?

Решение

Джефф Старр написал отличный учебник по регистрации, входа в систему и пароле
Принимая аналогичный подход, как Предлагается OneTrickPonyАнкет Так что примите это как продолжение его ответа и еще один ресурс, который может помочь вам сделать это:
http://digwp.com/2010/12/login-register-password-code/

свобода, Гибкость а также повторный использование Этот плагин не может предложить.

Другие советы

Если вы хотите справиться с этим самостоятельно, вот что я использую:

add_action('template_redirect', 'register_a_user');
function register_a_user(){
  if(isset($_GET['do']) && $_GET['do'] == 'register'):
    $errors = array();
    if(empty($_POST['user']) || empty($_POST['email'])) $errors[] = 'provide a user and email';
    if(!empty($_POST['spam'])) $errors[] = 'gtfo spammer';

    $user_login = esc_attr($_POST['user']);
    $user_email = esc_attr($_POST['email']);
    require_once(ABSPATH.WPINC.'/registration.php');

    $sanitized_user_login = sanitize_user($user_login);
    $user_email = apply_filters('user_registration_email', $user_email);

    if(!is_email($user_email)) $errors[] = 'invalid e-mail';
    elseif(email_exists($user_email)) $errors[] = 'this email is already registered, bla bla...';

    if(empty($sanitized_user_login) || !validate_username($user_login)) $errors[] = 'invalid user name';
    elseif(username_exists($sanitized_user_login)) $errors[] = 'user name already exists';

    if(empty($errors)):
      $user_pass = wp_generate_password();
      $user_id = wp_create_user($sanitized_user_login, $user_pass, $user_email);

      if(!$user_id):
        $errors[] = 'registration failed...';
      else:
        update_user_option($user_id, 'default_password_nag', true, true);
        wp_new_user_notification($user_id, $user_pass);
      endif;
    endif;

    if(!empty($errors)) define('REGISTRATION_ERROR', serialize($errors));
    else define('REGISTERED_A_USER', $user_email);
  endif;
}

Код почти идентичен той, которая со страницы регистрации пользователя.

Затем добавьте свою форму в свой шаблон:

<?php
  if(defined('REGISTRATION_ERROR'))
    foreach(unserialize(REGISTRATION_ERROR) as $error)
      echo "<div class=\"error\">{$error}</div>";
  // errors here, if any

  elseif(defined('REGISTERED_A_USER'))
    echo 'a email has been sent to '.REGISTERED_A_USER;
?>
<form method="post" action="<?php echo add_query_arg('do', 'register', home_url('/')); ?>">
  <label>
    User:
    <input type="text" name="user" value=""/>
  </label>

  <label>
    Email:
   <input type="text" name="email" value="" />
  </label>

  <label>
    Delete this text:
   <input type="text" name="spam" value="some_crappy_spam_protection" />
  </label>

  <input type="submit" value="register" />
</form>

Вы можете создать виджет с этим, шорткод или просто обычный шаблон страницы ...

Гравитационные формы - лучший плагин контактной формы для WordPress, IMO. В бета-версии есть новая версия, в которой есть дополнение к регистрации пользователя. Я пробовал это, и это прекрасно работает. Это будет стоить вам, хотя ... это 199 долларов за лицензию застройщика.

Ценовая страницаhttp://www.gravityforms.com/purchase-gravity-forms/

Сообщение в блоге рассказывает о надстройке регистрации пользователяhttp://www.gravityhelp.com/

Подробные спецификации:

Вот некоторые из функций дополнения регистрации пользователя:

  • Регистрация пользователя - Настройка формы для регистрации пользователя путем сопоставления полей вашей формы с доступными полями регистрации пользователя в WordPress.
  • Мета пользователя - легко заполняет пользовательские метаданные, такие как биография, идентификатор обмена мгновенными сообщениями, имя, фамилия, а также пользовательская мета -мета -мета.
  • Интеграция Buddypress - заполнить данные поля профиля Buddypress как часть процесса регистрации пользователя. В настоящее время работает с Buddypress v1.2.6.
  • Интеграция платежей - требует платежа до того, как произойдет регистрация пользователя. Включает поддержку подписки PayPal и изменение роли пользователя или удаление пользователя, если подписка отменяется.
  • Post Author-интегрируйте надстройку регистрации пользователя и создание Post в одной форме, чтобы автор созданный пост был пользователем, зарегистрированным дополнением.

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

Вы можете использовать Тема мой логин плагин

Вот хороший и простой способ, которым я сделал это:

http://www.yourblog.com/wp-login.php?action=register

Существует также этот плагин под названием Insite Login, который позволяет вам сбросить регистрационную форму, форму входа в систему и другие на страницы на вашем сайте: http://wordpress.org/extend/plugins/insitelogin/

Первое решение должно делать то, что вы хотите, хотя.

Если вам нужно больше полей в вашей регистрационной форме, вы можете использовать Плагин профиля

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top