Come aggiornare i metadati dell'utente in WordPress

23 ott 2015, 12:25:43
Visualizzazioni: 15.5K
Voti: 1

Sto avendo difficoltà a capire come fare in modo che il codice aggiorni un singolo metadato dell'utente corrente. Ad esempio, se voglio aggiornare automaticamente il loro nome. Sto usando

$current_user = wp_get_current_user(); 

per richiamare i dati dell'utente corrente invece di specificare un particolare ID utente.

0
Tutte le risposte alla domanda 1
2

Una delle due funzioni che ti serviranno; update_user_meta o add_user_meta - molto spesso avrai bisogno solo della prima, ma vale la pena notare la differenza:

add_post_meta creerà una voce solo se il parametro $unique è false, o se non esiste già un dato per $meta_key. update_post_meta aggiungerà se non esiste ancora alcun dato, altrimenti aggiornerà, a seconda di cosa hai specificato per $prev_value.

Entrambe le funzioni accettano gli stessi tre parametri iniziali; un ID utente, una chiave meta e un valore:

$current_user = wp_get_current_user();
$current_user->ID; // L'ID dell'utente corrente
$current_user_id = get_current_user_id(); // Alternativa per ottenere l'ID dell'utente corrente

// Aggiorna il nome dell'utente corrente
update_user_meta( $current_user_id, 'first_name', 'Jimbo' );

// Aggiorna il nome di un utente specifico
update_user_meta( 4 /* ID Utente 4 */, 'first_name', 'Janey' );
23 ott 2015 13:47:07
Commenti

Grazie per questo, funziona benissimo - solo un'altra domanda, se il meta fosse numerico (ad esempio Età) e volessi incrementarlo di 1 cosa dovrei inserire qui?

Garland Garland
23 ott 2015 14:57:47

Ottieni il valore con get_user_meta( $id, 'age' ), incrementalo di 1 (o impostalo a 1 se attualmente è null), poi aggiorna.

TheDeadMedic TheDeadMedic
23 ott 2015 15:21:38