WordPressのユーザーデータ取得関数
get_userdata
get_userdataはログインしていない状態でも利用することができます。
あらかじめユーザー情報を取得する対象のユーザーIDが分かっている場合に利用可能です。
$user_info = get_userdata($user_id);
$user_infoのデータ構造は以下のようになります。
object(WP_User)#1907 (7) { ["data"]=> object(stdClass)#1905 (12) { ["ID"]=> string(1) "3" ["user_login"]=> string(6) "username" ["user_pass"]=> string(34) "$P$BAWOSaqKxnnQxRilCkzL096UgsmF2r0" ["user_nicename"]=> string(6) "username" ["user_email"]=> string(19) "blog@gmail.com" ["user_url"]=> string(0) "" ["user_registered"]=> string(19) "2014-02-10 03:50:54" ["user_activation_key"]=> string(0) "" ["user_status"]=> string(1) "0" ["display_name"]=> string(6) "username" ["spam"]=> string(1) "0" ["deleted"]=> string(1) "0" } ["ID"]=> int(3) ["caps"]=> array(0) { } ["cap_key"]=> string(15) "hk_capabilities" ["roles"]=> array(0) { } ["allcaps"]=> array(0) { } ["filter"]=> NULL }
user_loginのデータを取得する場合は、
var_dump($user_info->user_login);
とすればデータにアクセスすることができます。戻り値の詳細はcodexで調べることが可能です。
$current_user
WordPressの管理画面にログインしている状態で、そのログインユーザーの情報を得るには、
global $current_user; get_currentuserinfo();
とした上で、
var_dump($current_user->user_login);
上のようにしてデータにアクセスします。ログインしていない状態(ブログの公開ページ)だとfalseが返されユーザー情報は取得できません。取得可能なデータプロパティはcodexで調べることができます。
wp_get_current_user
wp_get_current_userも$current_userの方法と同様、ログインしているユーザーの情報を取得するために利用できます。ブログの公開ページではfalseが返されます。
$cu = wp_get_current_user();
データのプロパティへのアクセスは以下の方法でできます。
var_dump($cu->user_login);
その他のプロパティへのアクセスはcodexで調べることができる。
get_current_user_id
ログイン中のユーザーのIDのみを取得する場合はget_current_user_idも利用できます。
$user_id = get_current_user_id();
$user_idにidの数字のが返されます。この関数もログイン中のユーザーのIDを取得する関数で、公開ページではIDを取得することはできません。
get_user_by
get_user_byは、あらかじめユーザー情報を取得したいユーザーが明確になっている場合に利用できる関数です。引数にユーザー情報のフィールドと値を指定することでユーザー情報を得ることができます。
$user = get_user_by( 'id', '3' );
上の場合、$userにはidが3のユーザー情報が返されます。プロパティへのアクセスは以下のように行います。
var_dump($user->user_login);
引数にはidだけでなく、emailやloginなどの情報でもユーザーデータを取得することが可能です。