Actualizarea metadatelor utilizatorului

23 oct. 2015, 12:25:43
Vizualizări: 15.5K
Voturi: 1

Am dificultăți în a găsi cum să actualizez o singură metadate a utilizatorului curent. De exemplu, dacă vreau să actualizez automat prenumele acestuia. Folosesc:

$current_user = wp_get_current_user(); // Obține obiectul utilizatorului curent

pentru a obține datele utilizatorului curent în loc să specific un anumit ID de utilizator.

0
Toate răspunsurile la întrebare 1
2

Una dintre cele două funcții de care vei avea nevoie; update_user_meta sau add_user_meta - de cele mai multe ori vei avea nevoie doar de prima, dar merită menționată diferența:

add_post_meta va crea o intrare doar dacă parametrul $unique este fals, sau dacă nu există date deja pentru $meta_key. update_post_meta va adăuga dacă nu există date încă, altfel va actualiza, în funcție de ceea ce ai specificat pentru $prev_value.

Ambele funcții iau aceiași trei parametri inițiali; un ID de utilizator, o cheie meta și o valoare:

$current_user = wp_get_current_user();
$current_user->ID; // ID-ul utilizatorului curent
$current_user_id = get_current_user_id(); // Alternativă pentru a obține ID-ul utilizatorului curent

// Actualizează prenumele utilizatorului curent
update_user_meta( $current_user_id, 'first_name', 'Jimbo' );

// Actualizează prenumele unui utilizator specific
update_user_meta( 4 /* ID utilizator 4 */, 'first_name', 'Janey' );
23 oct. 2015 13:47:07
Comentarii

Mulțumesc, funcționează excelent - am încă o întrebare, dacă metadatele erau numerice (de exemplu Vârsta) și aș vrea să le cresc cu 1, ce aș introduce aici?

Garland Garland
23 oct. 2015 14:57:47

Obține valoarea cu get_user_meta( $id, 'age' ), incrementează cu 1 (sau seteaz-o la 1 dacă este null în prezent), apoi actualizează.

TheDeadMedic TheDeadMedic
23 oct. 2015 15:21:38