Cómo obtener el número de teléfono del usuario actual

23 dic 2015, 12:06:57
Vistas: 23.6K
Votos: 1

Estoy intentando esto:

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

Pero no está funcionando

3
Comentarios

¿Qué has intentado para depurarlo? ¿Has verificado, por ejemplo, la entrada de datos?

birgire birgire
23 dic 2015 12:12:20

1. Verifica si el número de teléfono está ingresado en el perfil del usuario 2. Comprueba si el número de teléfono está en la base de datos 3. Verifica si tu meta_key es correcta 4. Usa Echo en el ID de usuario para asegurarte de que existe y es correcto 5. Anota el número de teléfono y, si la página se ha cargado, abre la ventana de desarrollo, selecciona el código fuente, presiona ctr+F y escribe tu número - tal vez solo lo mostraste en un elemento oculto o es difícil de ver

N00b N00b
23 dic 2015 12:21:25

"No funciona" simplemente no es suficiente información. ¿Tienes habilitada la depuración? ¿Recibes algún error? ¿Estás seguro de que $current_user es un objeto de usuario válido y está en el ámbito correcto? ¿El nombre del campo es definitivamente phone_number?

TheDeadMedic TheDeadMedic
23 dic 2015 13:25:04
Todas las respuestas a la pregunta 5
0
<?php
  // el número 9 será el ID de usuario
  $all_meta_for_user = get_user_meta( 9 );
  print_r( $all_meta_for_user );

// encuentra la clave que necesitas
Array ( 
    [first_name] => Array ( [0] => Tom ) 
    [last_name] => Array ( [0] => Auger) 
    [nickname] => Array ( [0] => tomauger ) 
    [description] => etc.... 
)

// guárdala en una variable 
$last_name = $all_meta_for_user['last_name'][0];

// muéstrala 
echo $last_name;
23 dic 2015 12:22:28
0

Si no estás recorriendo todos los usuarios y solo quieres obtener el meta phone_number del usuario actual, puedes probar lo siguiente.

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

NOTA: Esto solo funcionará para usuarios que hayan iniciado sesión.

También verifica la meta_key phone_number. Por defecto, WordPress no tiene esta clave meta que yo sepa.

23 dic 2015 13:26:51
0

WordPress tiene un atajo para obtener el ID del usuario actual, que parece ser lo que necesitas: get_current_user_id(). Usando esta función deberías poder obtener la información que requieres. El siguiente es un bloque de código de prueba de concepto que verificará los valores retornados por las funciones y aplicará lógica condicional en caso de que la necesites:

$uid = get_current_user_id();
if (!empty($uid)) {
  $phone = get_user_meta($uid,'phone_number',true); 
  if (!empty($phone)) {
    echo $phone;
  } else {
    echo 'El usuario no tiene un número de teléfono almacenado en la base de datos';
  }
} else {
  echo 'El usuario no ha iniciado sesión';
}
23 dic 2015 17:57:08
0
<?php $phone = get_user_meta($current_user->ID,'phone',true); echo $phone;?>

era "phone" y no "phone_number"

24 dic 2015 06:36:24
0
$phone = get_user_meta($user_id, 'billing_phone', true); // Obtener el número de teléfono del usuario desde los metadatos
echo $phone; // Mostrar el número de teléfono
3 feb 2020 15:03:58