Frage

Ich suche eine einfache Möglichkeit, das Nutzungsregistrierungsformular auf dem Front-End einer WordPress-Site zu platzieren. Ich habe bereits wp_login_form () verwendet, um das Anmeldeformular am vorderen Ende zu platzieren, aber jetzt muss ich dasselbe mit dem Anmeldeformular tun.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Jeff Starr schrieb ein großartiges Tutorial zur Registrierung, Anmeldung und Passwortwiederherstellung in Front-End
den ähnlichen Ansatz nehmen wie vorgeschlagen von Onetrickpony. Nehmen Sie dies also als Follow -up für seine Antwort und als eine andere Ressource, die Ihnen helfen könnte, dies zu erledigen:
http://digwp.com/2010/12/login-register-password-code/

Jetzt haben Sie zwei Beispiele, wie Sie dies selbst codieren und mir vertrauen können - es lohnt sich auf jeden Fall, dies (Ihre eigene) Weise zu tun. Es ist nicht so schwer und gibt es dir Freiheit, Flexibilität und Wiederverwendbarkeit dass kein Plugin bieten kann.

Andere Tipps

Falls Sie dies selbst bewältigen möchten, verwende ich Folgendes:

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;
}

Der Code ist fast identisch mit der von der Benutzeranmeldeseite.

Fügen Sie dann Ihr Formular in Ihre Vorlage hinzu:

<?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>

Sie können entweder ein Widget damit erstellen, einen Shortcode oder nur die übliche Seitenvorlage ...

Schwerkraftformulare sind das beste Kontaktformular für WordPress, IMO. Dort hat die neueste Version in Beta ein Benutzerregistrierungs-Add-On. Ich habe es versucht und es funktioniert großartig. Es wird Sie jedoch kosten ... es sind 199 US -Dollar für eine Entwicklerlizenz.

Preisseitehttp://www.gravityforms.com/purchase-gravity-forms/

Blogbeitrag über das Add-On der Benutzerregistrierunghttp://www.gravityhelp.com/

Ich kann dieses Plugin der WordPress -Community nur empfehlen.

Detaillierte Spezifikationen:

Hier sind einige Funktionen des Benutzerregistrierungs-Add-Ons:

  • Benutzerregistrierung - Richten Sie ein Formular ein, um einen Benutzer zu registrieren, indem Sie Ihre Formularfelder auf verfügbare Benutzerregistrierungsfelder in WordPress abbilden.
  • Benutzer -Meta - Benutzer -Meta -Daten wie Bio-, Instant -Messaging -ID, Vorname, Nachname sowie benutzerdefinierte Benutzer -Meta für Ihren Anforderungen problemlos zu füllen.
  • Buddypress -Integration - Populate Buddypress -Profilfelddaten im Rahmen des Benutzerregistrierungsprozesses. Derzeit funktioniert Buddypress v1.2.6.
  • Zahlungsintegration - Erfordern Sie eine Zahlung, bevor die Benutzerregistrierung eintritt. Beinhaltet Unterstützung für PayPal -Abonnements und Ändern der Benutzerrolle oder das Löschen des Benutzers, wenn das Abonnement storniert wird.
  • Kennwortfeld-Das Add-On für Benutzerregistrierung fügt der Verwendung in Ihren Formularen ein Kennwort für die Schwerkraftformulare hinzu. Das Feld Passwort enthält eine Bestätigungsoption sowie eine integrierte Option für Passwortstärke.
  • Postautor-Integrieren Sie das Add-On und die Erstellung von Benutzerregistrierung in ein einzelnes Formular, damit der Autor des von dem Add-On registrierten Benutzers der Benutzer ist.
  • Site-Erstellung-Erstellen Sie automatisch eine Site in einem WordPress-Netzwerk (Multi-Site) Installation und weisen Sie den neu erstellten Benutzern als Administrator für die Website zu.

Probieren Sie das SimpleModal Login -Plugin. Es ermöglicht Registrierung und Anmeldung (Sie müssen die Benutzerregistrierung aktivieren) und es hat einen sehr schönen Aussehen.

Sie können verwenden Thema mein Login Plugin

Hier ist ein schöner und einfacher Weg, den ich gemacht habe:

Kopieren Sie die Feldnamen und andere Dinge aus dem aktuellen WordPress -Registrierungsformular. Stellen Sie sicher, dass Ihr benutzerdefiniertes Formular die gleichen Namensfelder enthält, einschließlich versteckter, und richten Sie dann lediglich die Formularaktion auf die ordnungsgemäße Registrierungs -URL hin: http://www.yourblog.com/wp-login.php?action=register - Sie möchten dann auch ändern, wie das Formular nach der Registrierung weiterleitet, wenn Sie nicht gefallen, wie es umgegangen wird.

Es gibt auch dieses Plugin namens InSite -Login, mit dem Sie das Registrierungsformular, das Anmeldeformular und andere in Seiten Ihrer Website fallen können: http://wordpress.org/extend/plugins/insitelogin/

Die erste Lösung sollte jedoch tun, was Sie wollen.

Falls Sie mehr Felder für Ihr Registrierungsformular benötigen, können Sie die verwenden Profilbuilder -Plugin

Sie können Ihre Website anpassen, indem Sie Front-End-Formulare für Login, Registrieren und Bearbeiten von Profilen durch die Verwendung von Shortcodes hinzufügen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top