stampa questa pagina feed di signalkuppe.com/

You are hereModificare la form di registrazione di Wordpress

Modificare la form di registrazione di Wordpress

By admin - Posted on 11 October 2006

Volete modificare la tradizionale form di registrazione di Wordpress per ottenere altri dati dai vostri visitatori?. Ecco il procedimento:

Modificare il file wp-register.php in questo modo:

  • Aggiunta dei campi nella form (linea 129 circa)
  • <p><label for="first_name"><?php _e('Nome:') ?></label><br /> <input type="text" name="user_firstname" id="user_login" size="20" maxlength="100" value="<?php echo wp_specialchars($new_user_firstname); ?>" /></p>

    <p><label for="last_name"><?php _e('Cognome:') ?></label><br /> <input type="text" name="user_lastname" id="user_login" size="20" maxlength="100" value="<?php echo wp_specialchars($new_user_lastname); ?>" /></p>

  • Inizializzazione delle variabili (linea 13 circa)
  • case 'register':

    $user_login = sanitize_user( $_POST['user_login'] );
    $user_email = $_POST['user_email'];
    $new_user_firstname = $_POST['user_firstname'];
    $new_user_lastname = $_POST['user_lastname'];

  • Update nei campi nel backend: (linea 59 circa)

$user_id = wp_create_user( $user_login, $password, $user_email );

if ( !$user_id )

$errors['user_id'] = sprintf(__('<strong>ERROR</strong>: Couldn’t register you... please contact the <a href="mailto:%s">webmaster</a> !'), get_settings('admin_email'));

else

update_usermeta( $user_id, 'first_name', $new_user_firstname);

update_usermeta( $user_id, 'last_name', $new_user_lastname);

wp_new_user_notification($user_id, $password);

la nuova form di registrazioneIn pratica ho aggiunto un update subito dopo la creazione dell'utente.

Ecco come apparirà la form di registrazione dopo le modifiche. Per inserire nuovi campi utente oltre a quelli già presenti (ad esempio il numero di telefono) consiglio di utilizzare l'ottimo plugin di Andrew Ferguson. Scaricate il file e attivate il plugin dal pannello di amministrazione: create manualmente nel database (potete usare l'interfaccia intuitiva di PhpMyadmin) il nuovo campo nella tabella Wp-Users (ad esempio "numtel") e modificate quindi la prima parte del file fergcorp_addToUser.php specificando alcuni parametri del nuovo campo che andrà inserito nel profilo utente

$fergcorp_addField = array(
array( "legend"=>"Telefono",
"description"=>"Inserisci il tuo numero di telefono",
"label"=>"Telefono",
"inputName"=>"numtel",
"inputType"=>"text",

)

);

Spero possa esservi d'aiuto, alla prossima!

gerlando's picture

ciao.... ho provato a modificare il file file come sopra descritto ma non riesco.... tra l'altro, utilizzo wp 2.2.1, il file wp-registrer.php ha 5 righe quindi modifico il file wp-login.php, mi potresti dare una mano?

Post correlati

Screenshot del tema Marinelli per drupalDa oggi è possibile scaricare su drupal.org la prima versione di Marinelli 3 per Drupal7. E' stato un lavoraccio ma sono soddisfatto del risultato ottenuto. Il tema è radicalmente cambiato rispetto alla seconda versione. Tutte le configurazioni...

Non chiedetemi perchè ma mi è capitato di dover concatenare due viste in modo da passare i risultati di una vista come argomento di un'altra. In particolare dovevo passare il nid di un nodo come argomento della seconda vista e mostrare quindi il risultato della seconda vista nella vista di partenza. Non è complicato, basta utilizzare la funzione views_embed_view

Un trucchetto semplice ma secondo me molto utile per escludere da una vista dei nodi restituiti da una seconda vista. Il procedimento è molto semplice: fra gli argomenti della vista basta aggiungere "node: nid", e impostare questi parametri

Prima Drupalcon in una città a dir poco fantastica. Sabato riunione del core developer summit guidata da Kieran Lal vestito da monaco. Interessante il nuovo sistema di testing del codice, sarà introdotta una nuova funzionalità che consentirà di testare al volo le patch. Anche Javascript rienterà nel sistema di testing. Lato Front End si cercherà di creare delle linee guida di sviluppo delle UI, in modo da rendere il più possibile coerente l...