Aggiungere un campo al modulo di registrazione WordPress

11 dic 2012, 20:57:29
Visualizzazioni: 18.5K
Voti: 0

Come posso aggiungere un campo al modulo di registrazione WordPress? Ad esempio, vorrei aggiungere il campo "Nome" del profilo utente al modulo di registrazione, ma non riesco a capire come fare.

Il nome del campo è first_name, ma aggiungere <input type="text" name="first_name" id="first_name" value="<?php echo $_POST['first_name']; ?>" required="required" placeholder="<?php _e('Nome'); ?>" /> non funziona per qualche motivo. Il modulo viene inviato correttamente, ma nel backend il campo "Nome" non viene popolato nel profilo.

Sto modificando questo plugin per personalizzare il modulo di registrazione: http://wordpress.org/extend/plugins/s8-custom-login-and-registration/

0
Tutte le risposte alla domanda 2
5

Non conosco il plugin che stai utilizzando, ma il modo per aggiungere campi personalizzati al modulo di registrazione e salvarli nel profilo utente è agganciarsi all'hook register_form per visualizzare il campo e poi utilizzare l'hook appropriato (filtro/azione) per aggiornare/salvare il profilo utente.

Nel tuo caso, ad esempio:

<?php
// visualizza il campo del modulo
add_action('register_form', 'ad_register_fields');
function ad_register_fields() {
?>
    <p>
        <label for="firstname"><?php _e('Nome') ?><br />
        <input type="firstname" name="firstname" id="firstname" class="input" value="<?php echo esc_attr($_POST['firstname']); ?>" size="25" tabindex="20" />
        </label>
    </p>
<?php
}

// salva il nuovo nome
add_filter('pre_user_first_name', 'ad_user_firstname');
function ad_user_firstname($firstname) {
    if (isset($_POST['firstname'])) {
        $firstname = $_POST['firstname'];
    }
    return $firstname;
}
?>
11 dic 2012 22:58:14
Commenti

Quindi questo lo aggiungerebbe al modulo di registrazione predefinito di WordPress, corretto?

JacobTheDev JacobTheDev
13 dic 2012 23:24:35

Sì, è corretto.

Ahmad M Ahmad M
14 dic 2012 10:37:32

@Ahmad M C'è qualche modo per validare questi campi aggiuntivi?

Vasanthan.R.P Vasanthan.R.P
6 apr 2013 08:08:09

Qualcuno sa come aggiungere un campo prima di username/email? Tutto viene aggiunto dopo quei due...

trainoasis trainoasis
9 ago 2016 11:26:12

La soluzione di @Ahmad M funziona perfettamente oggi, ma sto cercando di aggiungere billing_phone (woocommerce) e non riesco a trovare un modo per salvare questi dati nel profilo... Vorrei anche che questi campi fossero obbligatori, e se possibile, rimuovere lo "username" e generarlo automaticamente con nome e cognome

Leo Danos Leo Danos
25 gen 2023 21:53:55
0

Ho trovato un plugin eccellente e gratuito che fa al caso nostro.

http://wordpress.org/extend/plugins/user-registration-aide/

Molto facile da usare, aggiunge campi sia alla pagina di registrazione che a quella del profilo.

14 dic 2012 18:13:46