web-dev-qa-db-fra.com

get_user_meta () n'inclut pas la messagerie de l'utilisateur?

Je me demande simplement pourquoi <?php var_dump(get_user_meta(4)); ?> ne contient pas l'adresse électronique de l'utilisateur. Au lieu de cela, je dois utiliser

get_userdata(4)->user_email; pour interroger le courrier électronique de l'utilisateur.

Pourquoi est-ce ou ai-je oublié quelque chose? get_user_meta() semble fournir tous les autres aspects et informations d'un utilisateur, mais pas l'adresse électronique.

Mat

4
mathiregister

get_user_meta récupère un seul champ méta ou tous les champs des données user_meta pour l'utilisateur donné.

Cela signifie que toutes les valeurs stockées dans la table user_meta peuvent être obtenues en utilisant get_user_meta . Les courriels ne sont pas stockés sous forme de métadonnées, vous ne pouvez donc pas les recevoir avec get_user_meta .

Le courrier électronique est stocké avec le nom d'utilisateur et le mot de passe dans la table user en tant que données d'utilisateur.

2
Rajeev Vyas

Je voulais juste vous faire savoir que vous avez get_user_meta et get_userdata. L'adresse email peut être trouvée en utilisant la fonction get_userdata.

Pour l'utilisateur actuel, ce code peut s'appliquer:

<?php

  $user_id = get_current_user_id(); 
  $user_info = get_userdata($user_id);
  $mailadresje = $user_info->user_email;
  echo $mailadresje;

?>

Veuillez noter que ceci s'applique à l'utilisateur actuel. Si vous avez besoin d'obtenir le user_id d'une commande, vous avez besoin du code suivant (que j'avais l'habitude d'afficher le courrier de l'utilisateur sur la facture dans WooCommerce):

<?php

  $user_id = $wpo_wcpdf->export->order->user_id;
  $user_info = get_userdata($user_id);
  $mailadresje = $user_info->user_email;
  echo $mailadresje;

?>

Bonne programmation!

3
Mark van den Ing