Modificare il nome visualizzato di un utente programmaticamente

12 dic 2015, 17:19:54
Visualizzazioni: 16.4K
Voti: 6

Vorrei modificare il nome visualizzato di un utente utilizzando questo snippet di codice nel file functions.php del mio tema:

$user_id = 672;
$display_name= 'Les Yeux';

$user_id = wp_update_user( array( 'ID' => $user_id, 'display_name' => $display_name ) );

Questo codice è adattato da questo argomento nel codex: https://codex.wordpress.org/Function_Reference/wp_update_user

Ma non riesco a farlo funzionare. Non cambia nulla. Ho dimenticato qualcosa?

8
Commenti

Come stai verificando i risultati? Stai guardando direttamente il database? Cosa? E qual è lo scopo? Questo valore è banale da modificare dal backend. Perché hai bisogno di creare questo pezzo di codice?

s_ha_dum s_ha_dum
12 dic 2015 17:45:43

@s_ha_dum Avevo un problema con il mio sito, alcuni utenti non hanno un nome visualizzato per un motivo che ignoro. Il risultato è che il loro profilo non mostra un nome (guarda il nome nella scheda del tuo browser per esempio): http://ouiaremakers.com/utilisateur/672/ confrontato con http://ouiaremakers.com/utilisateur/1 Sto cercando di risolvere modificando il loro display_name (che è ciò che dovrebbe apparire sul loro profilo), perché nulla funziona dal back office

Graham Slick Graham Slick
12 dic 2015 17:59:00

Ok. Questa informazione è utile ma non hai risposto alla prima domanda: Come stai verificando i risultati?

s_ha_dum s_ha_dum
12 dic 2015 18:04:52

@s_ha_dum Nulla cambia su questi profili... ho provato con il profilo che ti ho inviato e non mostrava un nome

Graham Slick Graham Slick
12 dic 2015 18:11:09

E ancora non rispondi alla domanda! Come stai verificando? Stai guardando il database tramite PHPMyAdmin o un altro strumento? Stai solo guardando la pagina generata? Stai usando qualche funzione per controllare i dati utente? Come? Qual è il meccanismo che stai usando per determinare che il codice wp_update_user() non funziona?

s_ha_dum s_ha_dum
12 dic 2015 18:14:29

Beh, è così che controllo! Vado al profilo dell'utente a cui ho cambiato il nome visualizzato, e se non mostra nulla, significa che non ha funzionato... come posso controllare i dati utente?

Graham Slick Graham Slick
12 dic 2015 18:16:35

Hai effettuato l'accesso con un utente che ha i permessi per modificare altri utenti?

iateadonut iateadonut
24 mar 2021 09:12:06

Per tua informazione, aggiornare il display_name in questo modo non mi ha mostrato alcun risultato nell'editor utenti del backend... si scopre che sta concatenando first_name e last_name, non utilizzando display_name.

Chris Rae Chris Rae
15 mar 2022 19:00:25
Mostra i restanti 3 commenti
Tutte le risposte alla domanda 1
0

Ho appena incollato il tuo codice nel mio functions.php con un ID diverso e ho verificato la pagina dell'utente in /wp-admin/user-edit.php - funziona, il valore nel campo Visualizza nome pubblicamente come viene aggiornato.

Molto probabilmente c'è qualcosa che non va con l'output sulla tua pagina utente. Controlla il tuo file template. Oppure, se non riesci a trovare il problema, modifica la domanda e aggiornala incollando solo il codice rilevante dal tuo template - non l'intero template.

12 dic 2015 20:45:23