Domanda

sto cercando un modo semplice per inserire il modulo di registrazione utente sul front-end di un sito WordPress. Ho già usato wp_login_form () per posizionare il modulo di accesso sul front-end, ma ora ho bisogno di fare lo stesso con il modulo di iscrizione.

Tutte le idee?

È stato utile?

Soluzione

Jeff Starr ha scritto un tutorial sulla registrazione front-end, di accesso e il recupero della password
adottando l'approccio simile a suggerito da onetrickpony . Quindi prendere questo come un follow-up per la sua risposta e come un'altra risorsa che potrebbe aiutare a farlo fare:
http://digwp.com/2010/12/login-register-password -code /

Ora avete due esempi come codificare da soli e credetemi - è sicuramente la pena farlo in questo (il proprio) strada. Non è così difficile e ti dà la libertà , flessibilità e riusabilità che nessun plug-in in grado di offrire.

Altri suggerimenti

nel caso in cui si desidera gestire da soli, ecco quello che io uso:

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

il codice è quasi identico a quello della pagina utente di iscrizione.

quindi aggiungere il modulo nel modello:

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

è possibile creare un widget con questo, uno shortcode o semplicemente la solita pagina template ...

I moduli gravità è il miglior plug-in modulo di contatto per WordPress, IMO. Ci versione più recente, in versione beta, ha una registrazione utente add-on. Ho provato e funziona benissimo. Vi costerà però ... è di $ 199 per una licenza di sviluppatore.

Pagina Prezzi http://www.gravityforms.com/purchase-gravity-forms/

Blog post parlando della registrazione dell'utente add-on http://www.gravityhelp.com/

Consiglio vivamente questo plugin per la comunità di WordPress.

Specifiche dettagliate:

Ecco alcune delle caratteristiche della registrazione utente Add-On:

  • Registrazione utente - Impostazione di un modulo per registrare un utente mappando il modulo i campi per la registrazione degli utenti disponibili campi in WordPress.
  • Meta utente - utente facilmente popolano meta dati come bio, messaggistica istantanea id, nome, cognome e meta utente personalizzata in base alle proprie esigenze.
  • BuddyPress Integrazione - aumento di popolazione Dati BuddyPress campo profilo come parte del processo di registrazione dell'utente. Attualmente collabora con BuddyPress v1.2.6.
  • Pagamento Integrazione - Richiede un il pagamento prima della registrazione dell'utente si verifica. Include il supporto per PayPal abbonamenti e cambiare utente ruolo o l'eliminazione all'utente se la sottoscrizione viene annullata.
  • Password Field - L'utente Registrazione aggiuntivo aggiunge una password campo per gravità Forms per l'uso in i moduli. Il campo Password include un'opzione di conferma, come così come costruito in sicurezza della password checker opzione.
  • Messaggio Autore - Integrare l'utente Registrazione Add-On e creazione Messaggio su un singolo modulo in modo che l'autore del post che si crea è il utente registrato dalla componente aggiuntivo.
  • Creazione del sito - Creazione automatica un sito su una rete di WordPress (Multi-sito) installare e assegnare il gli utenti appena creati come il Amministratore del sito.

Prova il SimpleModal login plugin. Esso consente la registrazione e il login (Devi abilitare la registrazione degli utenti), e che ha un aspetto molto bello ad esso.

È possibile utilizzare Tema My Accesso plug-in

Ecco una piacevole e facile modo in cui ho fatto questo:

Copia i nomi dei campi e qualsiasi altra roba dal modulo di registrazione Wordpress corrente. Assicurarsi quelli che il modulo personalizzato ha gli stessi campi dei nomi compresi nascosti e poi semplicemente puntare il form action per il corretto URL di registrazione: http://www.yourblog.com/wp-login.php?action=register - È quindi potrebbe desiderare di cambiare il modo i reindirizzamenti di forma dopo la registrazione e se non lo fanno come come viene gestita.

C'è anche questo plugin chiamato Insite Accesso, che consente di cadere nel modulo di registrazione, form di login e altri nelle pagine del tuo sito: http://wordpress.org/extend/plugins/insitelogin/

La prima soluzione dovrebbe fare quello che vuoi che faccia però.

Nel caso in cui avete bisogno di più campi sul modulo di iscrizione è possibile utilizzare il profilo Builder plug

E 'consente di personalizzare il vostro sito web con l'aggiunta di moduli front-end per l'accesso, registrare e modificare profilo attraverso l'uso di codici brevi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top