ユーザー情報の取得 & ユーザーロールの追加

ログインユーザー情報を取得する方法や、ユーザーロールの追加方法など紹介します。

ログインしているユーザー情報を取得

ログインしているユーザー情報を取得するには、wp_get_current_user関数 を使います。

$current_user = wp_get_current_user();
var_dump($current_user);
object(WP_User)[139]
  public 'data' => 
    object(stdClass)[138]
  public 'ID' => int 0
  public 'caps' => 
    array (size=0)
      empty
  public 'cap_key' => null
  public 'roles' => 
    array (size=0)
      empty
  public 'allcaps' => 
    array (size=0)
      empty
  public 'filter' => null
object(WP_User)[106]
  public 'data' => 
    object(stdClass)[137]
      public 'ID' => string '1' (length=1)
      public 'user_login' => string 'XXXXXXXX' (length=8)
      public 'user_pass' => string 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (length=34)
      public 'user_nicename' => string 'XXXXXXXX' (length=8)
      public 'user_email' => string 'XXX@XXXXXXXX.XXX' (length=16)
      public 'user_url' => string '' (length=0)
      public 'user_registered' => string '2015-07-31 13:43:08' (length=19)
      public 'user_activation_key' => string '' (length=0)
      public 'user_status' => string '0' (length=1)
      public 'display_name' => string 'XXXXXXXX' (length=8)
  public 'ID' => int 1
  public 'caps' => 
    array (size=1)
      'administrator' => boolean true
  public 'cap_key' => string 'wp_capabilities' (length=15)
  public 'roles' => 
    array (size=1)
      0 => string 'administrator' (length=13)
  public 'allcaps' => 
    array (size=63)
      'switch_themes' => boolean true
      'edit_themes' => boolean true
      'activate_plugins' => boolean true
      'edit_plugins' => boolean true
      'edit_users' => boolean true
      'edit_files' => boolean true
      'manage_options' => boolean true
      'moderate_comments' => boolean true
      'manage_categories' => boolean true
      'manage_links' => boolean true
      'upload_files' => boolean true
      'import' => boolean true
      'unfiltered_html' => boolean true
      'edit_posts' => boolean true
      'edit_others_posts' => boolean true
      'edit_published_posts' => boolean true
      'publish_posts' => boolean true
      'edit_pages' => boolean true
      'read' => boolean true
      'level_10' => boolean true
      'level_9' => boolean true
      'level_8' => boolean true
      'level_7' => boolean true
      'level_6' => boolean true
      'level_5' => boolean true
      'level_4' => boolean true
      'level_3' => boolean true
      'level_2' => boolean true
      'level_1' => boolean true
      'level_0' => boolean true
      'edit_others_pages' => boolean true
      'edit_published_pages' => boolean true
      'publish_pages' => boolean true
      'delete_pages' => boolean true
      'delete_others_pages' => boolean true
      'delete_published_pages' => boolean true
      'delete_posts' => boolean true
      'delete_others_posts' => boolean true
      'delete_published_posts' => boolean true
      'delete_private_posts' => boolean true
      'edit_private_posts' => boolean true
      'read_private_posts' => boolean true
      'delete_private_pages' => boolean true
      'edit_private_pages' => boolean true
      'read_private_pages' => boolean true
      'delete_users' => boolean true
      'create_users' => boolean true
      'unfiltered_upload' => boolean true
      'edit_dashboard' => boolean true
      'update_plugins' => boolean true
      'delete_plugins' => boolean true
      'install_plugins' => boolean true
      'update_themes' => boolean true
      'install_themes' => boolean true
      'update_core' => boolean true
      'list_users' => boolean true
      'remove_users' => boolean true
      'add_users' => boolean true
      'promote_users' => boolean true
      'edit_theme_options' => boolean true
      'delete_themes' => boolean true
      'export' => boolean true
      'administrator' => boolean true
  public 'filter' => null

ログインしている場合に、ユーザー情報が設定されています。ちなみに、現在の訪問者がログインしているかチェックするには、is_user_logged_in関数 を使います。

<?php if ( is_user_logged_in() ) { ... } ?>

ユーザーロールと権限

WordPressのデフォルトのユーザーロール(権限グループ)と権限については、「ユーザーの種類と権限 – WordPress Codex 日本語版 – OSDN」で確認することができます。

次のソースで、ユーザーロールの追加方法について確認します。

$capabilities = array(
    'read' => true,
    'edit_posts' => true,
    'testcap1' => true
);
add_role("testrole", "test", $capabilities);
 
$role = get_role('testrole');
var_dump($role);
 
$role->add_cap('testcap2');
var_dump($role);
 
remove_role('testrole');
  • 6行目
    • ユーザーロールを追加しています。「ロール名」、「管理画面での表示名」、「権限」を引数に指定します。
  • 8行目
    • ユーザーロール情報を取得しています。
  • 11行目
    • 取得したユーザーロール情報に権限を追加しています。
  • 14行目
    • ユーザーロール情報を削除しています。アプリ開発をする際、不要な既存のユーザロールを削除するときなどに利用します。

上記ソースの出力結果は次のようになります。

object(WP_Role)[4]
  public 'name' => string 'testrole' (length=8)
  public 'capabilities' => 
    array (size=3)
      'read' => boolean true
      'edit_posts' => boolean true
      'testcap1' => boolean true
 
object(WP_Role)[4]
  public 'name' => string 'testrole' (length=8)
  public 'capabilities' => 
    array (size=4)
      'read' => boolean true
      'edit_posts' => boolean true
      'testcap1' => boolean true
      'testcap2' => boolean true

なお、ユーザーロールの追加は1度実行すればいい処理なので、プラグイン有効化のタイミングが適しています。

【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。