Formulaire d'inscription frontale

12

Je recherche un moyen simple de placer le formulaire d’inscription d’utilisateur sur le front-end d’un site WordPress. J'ai déjà utilisé wp_login_form () pour placer le formulaire de connexion sur le serveur, mais je dois maintenant faire de même avec le formulaire d'inscription.

Des idées?

    
posée Pippin 17.01.2011 - 21:48

7 réponses

6

Jeff Starr a écrit un excellent didacticiel sur l'enregistrement, la connexion et la récupération du mot de passe front-end
Adoptez une approche similaire à celle proposée par par onetrickpony . Alors, prenez ceci comme un suivi de sa réponse et comme une autre ressource qui pourrait vous aider à le faire:
enlace

Maintenant, vous avez deux exemples sur la façon de coder cela vous-même et de me faire confiance - cela vaut vraiment la peine de le faire (à votre façon). Ce n'est pas si difficile et cela vous donne la liberté , la flexibilité et la possibilité de réutilisation qu'aucun plug-in ne peut offrir.

    
réponse donnée Michal Mau 18.01.2011 - 21:11
3

Au cas où vous voudriez vous en occuper vous-même, voici ce que j'utilise:

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

le code est presque identique à celui de la page d'inscription de l'utilisateur.

ajoutez ensuite votre formulaire dans votre modèle:

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

vous pouvez créer un widget avec cela, un shortcode ou simplement le modèle de page habituel ...

    
réponse donnée onetrickpony 18.01.2011 - 04:02
2

Gravity Forms est le meilleur plugin de formulaire de contact pour WordPress, IMO. La version la plus récente, en version bêta, comprend un module d’enregistrement d’utilisateur. Je l'ai essayé et ça marche très bien. Cela vous coûtera cependant ... il faut 199 $ pour une licence de développeur.

page de tarification enlace

Article de blog parlant du module complémentaire d'enregistrement d'utilisateur enlace

Je recommande vivement ce plugin à la communauté WordPress.

Spécifications détaillées:

Voici certaines des fonctionnalités du module complémentaire Enregistrement de l'utilisateur:

  • Enregistrement de l'utilisateur - Configurer un formulaire pour enregistrer un utilisateur en mappant votre formulaire champs pour l'enregistrement utilisateur disponible champs dans WordPress.
  • Méta utilisateur - Remplissez facilement les méta utilisateur des données telles que la bio, la messagerie instantanée id, prénom, nom de famille ainsi que méta utilisateur personnalisé pour répondre à vos besoins.
  • Intégration de BuddyPress - Remplir Données du champ de profil BuddyPress en tant que partie du processus d'inscription de l'utilisateur. Fonctionne actuellement avec BuddyPress v1.2.6.
  • Intégration des paiements - Requiert un paiement avant l'enregistrement de l'utilisateur se produit. Inclut le support pour PayPal abonnements, et changer d'utilisateur rôle ou supprimer l'utilisateur si le l'abonnement est annulé.
  • Champ Mot de passe - L'utilisateur Enregistrement Add-On ajoute un mot de passe champ à Gravity Forms pour une utilisation dans vos formulaires. Le champ mot de passe inclut une option de confirmation, comme ainsi que la force de mot de passe intégrée option de vérificateur.
  • Auteur - Intégrez l'utilisateur Enregistrement complémentaire et création postérieure sur un seul formulaire afin que l'auteur du poste créé est le utilisateur enregistré par le module complémentaire.
  • Création de site - Créer automatiquement un site sur un réseau WordPress (multi-site) installer et assigner le les utilisateurs nouvellement créés en tant que Administrateur du site.
réponse donnée Carson 18.01.2011 - 03:16
1

Essayez le plugin de connexion simplemodal. Il permet l'enregistrement et la connexion (vous devez activer l'enregistrement de l'utilisateur), et il a un très bel aspect.

    
réponse donnée Lynne 17.01.2011 - 22:41
0

Vous pouvez utiliser le plug-in Thème My Login

.     
réponse donnée Tareq 17.01.2011 - 22:52
0

Voici un moyen simple et convivial que j'ai appliqué:

Copiez les noms de champs et tout autre élément du formulaire d’inscription Wordpress actuel. Assurez-vous que votre formulaire personnalisé contient les mêmes champs de nom, y compris ceux qui sont cachés, puis pointez simplement l'action de formulaire sur l'URL d'enregistrement appropriée: enlace - Vous voudrez peut-être également modifier la façon dont le formulaire sera redirigé après l'enregistrement si vous n'aimez pas la façon dont il est géré.

Il existe également ce plugin appelé Connexion Insite qui vous permet de déposer le formulaire d’inscription, le formulaire de connexion et d’autres dans les pages de votre site: enlace

La première solution doit cependant faire ce que vous voulez.

    
réponse donnée Dwayne Charrington 18.01.2011 - 03:52
0

Au cas où vous auriez besoin de plus de champs sur votre formulaire d'inscription, vous pouvez utiliser le plug-in Profile Builder

Il vous permet de personnaliser votre site Web en ajoutant des formulaires frontaux pour la connexion, l’enregistrement et la modification de profil par le biais de codes abrégés.

    
réponse donnée Cristian Dumitru Antohe 13.04.2011 - 13:24

Lire d'autres questions sur les étiquettes