WordPressでユーザー情報を取得する様々な方法

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で調べることが可能です。

get_userdata codex

$current_user

WordPressの管理画面にログインしている状態で、そのログインユーザーの情報を得るには、

global $current_user;
get_currentuserinfo();

とした上で、

var_dump($current_user->user_login);

上のようにしてデータにアクセスします。ログインしていない状態(ブログの公開ページ)だとfalseが返されユーザー情報は取得できません。取得可能なデータプロパティはcodexで調べることができます。

get_currentuserinfo

wp_get_current_user

wp_get_current_userも$current_userの方法と同様、ログインしているユーザーの情報を取得するために利用できます。ブログの公開ページではfalseが返されます。

$cu = wp_get_current_user();

データのプロパティへのアクセスは以下の方法でできます。

var_dump($cu->user_login);

その他のプロパティへのアクセスはcodexで調べることができる。

wp_get_current_user 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などの情報でもユーザーデータを取得することが可能です。

WordPressのユーザー名でSEO対策

Webエンジニアブログにコメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

WordPressでユーザー情報を取得する様々な方法の記事にコメントを投稿