Home › Forum › Amministrazione WP › Inserire Nome e Cognome nella form di registrazione
-
AutorePost
-
-
28 Settembre 2006 alle 10:04 #2200liozPartecipante
è possibile inserire oltre User e email i campi Nome e Cognome direttamente nella from di registrazione in modo che non debbano essere successivamente inseirti dal profilo utente?
grazie!
-
30 Settembre 2006 alle 11:41 #40336liozPartecipante
ci sono riuscito: se a qualcuno interessa posto postare la soluzione.
-
30 Settembre 2006 alle 12:54 #40337SteveAglAmministratore del forum
posta pure, puo’ essere sicuramente utile anche ad altri utenti.
grazie.
-
2 Ottobre 2006 alle 9:33 #40350novellinoPartecipante
ciao, anche io avrei bisogno di sapere come fare.
-
2 Ottobre 2006 alle 11:41 #40358liozPartecipante
allora, ho modificato il file wp-register.php in questo modo:
1) 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>
2) 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);
in pratica ho aggiunto un update subito dopo la creazione dell’utente..a me funziona: spero sia utile anche per voi, ciao!
-
2 Ottobre 2006 alle 11:59 #40359ashtur1Partecipante
grazie sei proprio mitko!!!
se ipoteticamente uno volesse inserire pure un numero di telefono come potrebbe fare?
…non conosco php
grazie!
-
2 Ottobre 2006 alle 12:27 #40360liozPartecipante
in teoria con questo procedimento puoi inserire qualsiasi campo del profilo utenti..per aggiungere campi extra puoi utilizzare l’ottimo plugin di andrew feguson
ciao!
-
2 Ottobre 2006 alle 13:07 #40361
-
2 Ottobre 2006 alle 13:25 #40362liozPartecipante
perfetto
sarebbe utile riuscire a capire come aggiungere più campi personalizzati..con il plugin sono riuscito ad aggiungere solo un campo ulteriore..
-
19 Ottobre 2006 alle 18:58 #40762GiomaPartecipante
a me non funziona…ho fatto le 2 modifiche nel file wp-register-php
al momento della registrazione mi ha aggiunto correttamente i 2 campi però non va l’update del profilo…
ciao;)
-
19 Ottobre 2006 alle 22:04 #40771liozPartecipante
ciao giome ricordati anche di inizializzare le variabili che hai aggiunto (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’];
-
21 Ottobre 2006 alle 23:44 #40819diskostuPartecipante
anche io ho lo stesso problema, ho copiato tutto quello che dici, nel form di registrazione sono apparsi nome e cognome ma essi non compaiono nel profilo, ho copiato anche le ultime cose che hai detto.
help please
-
21 Ottobre 2006 alle 23:48 #40820diskostuPartecipante
lioz ho risolto, l’erroe sta nel carattere usato per inizializzare le variabili invece dell’apice diritto (come in login ed email) i tuoi sono storti.
il codice giusto è:
case ‘register’:
$user_login = sanitize_user( $_POST );
$user_email = $_POST;
$new_user_firstname = $_POST;
$new_user_lastname = $_POST;
-
22 Ottobre 2006 alle 0:22 #40821diskostuPartecipante
ho provato ad aggiungere anche il campo sito web, riesco a farlo comparire nel form ma poi non viene aggiornato il profilo. eppure mi sono limitato a copiare le stesse righe inserendo i nomi del sito web cosଠcome sono chimati in profile.php
credo che l’erroe sia tra i vari: url, user_url ecc, non è che puoi metterci mano anche tu cosଠvediamo di riuscirci?
grazie
-
23 Ottobre 2006 alle 9:51 #40843liozPartecipante
si gli apici logicamente vanno dritti, ho sbagliato a incollare il codice..vi posto il mio wp-register.php..ho aggiunto anche altri campi sfruttando gli esistenti YIM e AIM..a me funziona.
-
23 Ottobre 2006 alle 19:37 #40872diskostuPartecipante
puoi vedere di fare qualcosa per il sito web? non ci riesco proprio, anche prendendo i tuoi valori.
secondo me il problema sta nella differenza tra url e user_url invece per yim e aim i nomi mi sembrano che sono sempre uguali
Ps
il tuo funziona però adesso quando ti registri, nella finestra di riepilogo dati è scomparso il link per andare alla pagina di login
EDIT
ci sono riuscito! l’erroe stava proprio nel fatto che mettevo url invece di user_url
-
24 Ottobre 2006 alle 8:13 #40875liozPartecipante
ok perfetto
-
5 Dicembre 2006 alle 15:33 #42044nicolaPartecipante
Ciao ragazzi, ho provato ad aggiungere altri campi utilizzando il plugin Add To User e questo è il codice da me utilizzato. Il problema è che non funziona
mi dice:
Parse error: syntax error, unexpected T_ARRAY, expecting ')' in /home/mhd-01/www.nicolaruggiero.it/htdocs/bottega/wp-content/plugins/fergcorp_addToUser.php on line 40
cmq, questo è il codice:
<?php
/*
Plugin Name: Add To User
Plugin URI: http://www.andrewferguson.net/wordpress-plugins/
Plugin Description: Allows adding mySQL Data fields to store/add more user info
Version: 0.1
Author: Andrew Ferguson
Author URI: http://www.andrewferguson.net/
*/
/*Use: Allows adding mySQL Data fields to store/add more user info
/*
Add To User - Allows adding mySQL Data fields to store/add more user info
Copyright (c) 2006 Andrew Ferguson
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
$fergcorp_addField = array(
array( "legend"=>"Indirizzo",
"description"=>"Inserisci il tuo indirizzo:",
"label"=>"Indirizzo",
"inputName"=>"indirizzo",
"inputType"=>"text",
)
array( "legend"=>"Numero",
"description"=>"numero:",
"label"=>"n°",
"inputName"=>"numero",
"inputType"=>"text",
)
array( "legend"=>"CAP",
"description"=>"Inserisci il tuo CAP:",
"label"=>"CAP",
"inputName"=>"cap",
"inputType"=>"text",
)
array( "legend"=>"Città",
"description"=>"Città:",
"label"=>"Città",
"inputName"=>"citta",
"inputType"=>"text",
)
);
add_action('show_user_profile', 'fergcorp_addToUser_addFields');
add_action('personal_options_update', 'fergcorp_addToUser_updateFields');
function fergcorp_addToUser_addFields(){
global $wpdb, $user_ID, $fergcorp_addField;
foreach($fergcorp_addField as $thisField){
?>
<fieldset>
<legend><?php _e($thisField['legend']); ?></legend>
<p class="desc"><?php _e($thisField['description']); ?></em></p>
<p><label><?php _e($thisField['label']); ?><br />
<input name="<?php echo $thisField['inputName']; ?>" type="<?php echo $thisField['inputType']; ?>" value="<?php echo $wpdb->get_var("SELECT ".$thisField["inputName"]." FROM $wpdb->users WHERE ID = ".$user_ID." LIMIT 1"); ?>" />
</label></p>
</fieldset>
<?
}
}
function fergcorp_addToUser_updateFields(){
global $wpdb, $current_user, $fergcorp_addField;
foreach($fergcorp_addField as $thisField){
$wpdb->query("UPDATE $wpdb->users SET ".$thisField["inputName"]." = '".$_POST[$thisField["inputName"]]."' WHERE ID = ". $current_user->id." LIMIT 1");
}
}
?>
-
5 Dicembre 2006 alle 19:35 #42051nicolaPartecipante
Ho risolto e ora i campi sono stati aggiunti nel profilo, quindi dentro il pannello di amministrazione. Ora ci lavoro perché compaiano anche nel form di registrazione, ma forse quello sarà più semplice da fare.
$fergcorp_addField = array(
"indirizzo" => array( "legend"=>"Indirizzo",
"description"=>"Inserisci il tuo indirizzo:",
"label"=>"Indirizzo",
"inputName"=>"indirizzo",
"inputType"=>"text",
),
"numero" => array( "legend"=>"Numero",
"description"=>"numero:",
"label"=>"n°",
"inputName"=>"numero",
"inputType"=>"text",
),
"cap" => array( "legend"=>"CAP",
"description"=>"Inserisci il tuo CAP:",
"label"=>"CAP",
"inputName"=>"cap",
"inputType"=>"text",
),
"citta" => array( "legend"=>"Città",
"description"=>"Città:",
"label"=>"Città",
"inputName"=>"citta",
"inputType"=>"text",
)
);
-
-
AutorePost
- Devi essere connesso per rispondere a questo topic.