Creare un modulo di registrazione senza plugin in WordPress

27 nov 2016, 13:38:05
Visualizzazioni: 14K
Voti: 1

Come posso creare un modulo di registrazione senza utilizzare un plugin nello sviluppo di temi WordPress e come i dati del form possono essere salvati nel database? Sono nuovo nello sviluppo di temi e non ho idea di come fare... aiutami!!! Ho questo semplice modulo di registrazione e non so come implementarlo in WordPress senza usare un plugin nel mio tema. Voglio capire come funziona il meccanismo di registrazione utente in WordPress.

        <div class="col-md-6 login-do">
            <!-- Campo nascosto per azione personalizzata -->
            <input type="hidden" name="action" value="add_foobar">
            <!-- Campo nascosto per dati aggiuntivi -->
            <input type="hidden" name="data" value="foobarid">

            <div class="login-mail">
                <!-- Campo per il nome utente -->
                <input type="text" placeholder="Nome"  name='user_name' required="">
                <i  class="glyphicon glyphicon-user"></i>
            </div>
            <div class="login-mail">
                <!-- Campo per il numero di telefono -->
                <input type="text" placeholder="Numero di telefono" name='user_number' required="">
                <i  class="glyphicon glyphicon-phone"></i>
            </div>
            <div class="login-mail">
                <!-- Campo per l'email -->
                <input type="text" placeholder="Email" name='user_email' required="">
                <i  class="glyphicon glyphicon-envelope"></i>
            </div>
            <div class="login-mail">
                <!-- Campo per la password -->
                <input type="password" placeholder="Password" name='user_password' required="">
                <i class="glyphicon glyphicon-lock"></i>
            </div>
            <a class="news-letter " href="#">
                <!-- Checkbox per recupero password -->
                <label class="checkbox1"><input type="checkbox" name="checkbox" ><i> </i>Password dimenticata</label>
            </a>
            <label class="hvr-skew-backward">
                <!-- Pulsante di invio -->
                <input type="submit" value="Invia" name="submit">
            </label>
        </div>

0
Tutte le risposte alla domanda 1
0

Nel tuo codice PHP, utilizza wp_create_user().

Con questa funzione, puoi passare username, email e `password'.

Successivamente, usa wp_update_user() per assegnare all'utente le altre informazioni.

Collegherei la mia funzione di creazione utente all'hook init.

Inoltre, dovresti inserire un campo nonce nel tuo form, ad esempio questo, tra i tag <form>:

<?php wp_nonce_field( 'create_user_form_submit', 'djie3duhb3edub3u' ); ?>

Esempio:

add_action('init', 'my_theme_create_new_user');
function my_theme_create_new_user(){

    if ( 
        ! isset( $_POST['djie3duhb3edub3u'] ) 
        || ! wp_verify_nonce( $_POST['djie3duhb3edub3u'], 'create_user_form_submit') 
    ){
       // non fare nulla
    }else{
        $username = sanitize_text_field($_POST['user_name']);
        $email = sanitize_text_field($_POST['user_email']);
        $password = $_POST['user_password'];
        $user_id = username_exists( $username );
        if ( !$user_id and email_exists($email) === false ) {
        
            // aggiungi qui il codice per validare la password come preferisci

            $user_id = wp_create_user( $username, $password, $email );
            $stuff = array('ID'=>$user_id,'another_user_field'=>'something');
            wp_update_user($stuff) // nome, cognome ecc.
         } else {
             return false; // username già esistente
         }
     }
}
28 nov 2016 13:54:31