Come ottenere il numero di telefono dell'utente corrente

23 dic 2015, 12:06:57
Visualizzazioni: 23.6K
Voti: 1

Sto provando questo:

<?php $phone = get_user_meta($current_user->ID,'phone_number',true); echo $phone; ?>

Ma non funziona

3
Commenti

Cosa hai provato per il debug? Hai ad esempio verificato l'input?

birgire birgire
23 dic 2015 12:12:20

1. Controlla se il numero di telefono è inserito nel profilo utente 2. Verifica se il numero di telefono è presente nel database 3. Controlla se il tuo meta_key è corretto 4. Usa echo sull'ID utente per assicurarti che esista e sia corretto 5. Scrivi il numero di telefono e, se la pagina è caricata, apri la finestra di sviluppo, seleziona il codice sorgente, premi ctr+F e digita il tuo numero - forse l'hai semplicemente stampato in un elemento nascosto o è difficile da vedere

N00b N00b
23 dic 2015 12:21:25

"Non funziona" non è una descrizione sufficiente. Hai abilitato il debug? Ricevi degli errori? Sei sicuro che $current_user sia un oggetto utente valido e nell'ambito corretto? Il nome del campo è definitivamente phone_number?

TheDeadMedic TheDeadMedic
23 dic 2015 13:25:04
Tutte le risposte alla domanda 5
0
<?php
  // il numero 9 sarà l'ID dell'utente
  $all_meta_for_user = get_user_meta( 9 );
  print_r( $all_meta_for_user );

// trova la chiave che ti interessa
Array ( 
    [first_name] => Array ( [0] => Tom ) 
    [last_name] => Array ( [0] => Auger) 
    [nickname] => Array ( [0] => tomauger ) 
    [description] => etc.... 
)

// memorizzala in una variabile
$last_name = $all_meta_for_user['last_name'][0];

// visualizzala
echo $last_name;
23 dic 2015 12:22:28
0

Se non stai ciclando tutti gli utenti e vuoi ottenere solo il meta phone_number dell'utente corrente, puoi provare il codice seguente.

$current_user_id = get_current_user_id();
$phone = get_user_meta($current_user_id,'phone_number',true);
echo $phone;

NOTA: Questo funzionerà solo per l'utente loggato.

Verifica anche la chiave meta phone_number. Di default WordPress non ha questa chiave meta, credo.

23 dic 2015 13:26:51
0

WordPress ha una scorciatoia per ottenere l'ID dell'utente corrente, che sembra essere ciò di cui hai bisogno -- get_current_user_id(). Usando questa funzione dovresti essere in grado di ottenere le informazioni necessarie. Di seguito è riportato un blocco di codice dimostrativo che controllerà i valori restituiti dalle funzioni e applicherà una logica condizionale nel caso ne avessi bisogno:

$uid = get_current_user_id();
if (!empty($uid)) {
  $phone = get_user_meta($uid,'phone_number',true); 
  if (!empty($phone)) {
    echo $phone;
  } else {
    echo 'L\'utente non ha un numero di telefono memorizzato nel database';
  }
} else {
  echo 'L\'utente non è loggato';
}
23 dic 2015 17:57:08
0
<?php $phone = get_user_meta($current_user->ID,'phone',true); echo $phone;?>

era "phone" e non "phone_number"

24 dic 2015 06:36:24
0
// Recupera il numero di telefono dell'utente dai metadati
$phone = get_user_meta($user_id, 'billing_phone', true);
// Visualizza il numero di telefono
echo $phone;
3 feb 2020 15:03:58