web-dev-qa-db-ja.com

get_user_meta()にユーザーの電子メールが含まれていませんか?

<?php var_dump(get_user_meta(4)); ?>にユーザーのメールアドレスが含まれていないのはなぜだろう。代わりに私は使わなければなりません

ユーザーのEメールを照会するためのget_userdata(4)->user_email;

それはなぜなのか、それとも私は何かを見逃したのですか。 get_user_meta()はユーザーの他のすべての側面と情報を提供するようですが、Eメールアドレスだけではありません。

マット

4
mathiregister

get_user_meta は、指定されたユーザーのuser_metaデータの単一のメタフィールドまたはすべてのフィールドを取得します。

これは、user_metaテーブルに格納されているすべての値が get_user_meta を使用して取得できることを意味します。電子メールはメタデータとして保存されないため、 get_user_meta を使用して電子メールを受け取ることはできません。

電子メールは、ユーザーデータとしてユーザー名とパスワードと共にuserテーブルに格納されます。

2
Rajeev Vyas

get_user_metaget_userdataがあることを知らせたいだけでした。電子メールアドレスはget_userdata関数を使って見つけることができます。

現在のユーザーには、このコードを適用できます。

<?php

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

?>

これは現在のユーザーに適用されることに注意してください。 user_idを取得する必要がある場合は、次のコードが必要です(私はWooCommerceの請求書にユーザーのメールを表示するために使用していました)。

<?php

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

?>

ハッピープログラミング!

3