wordpress ログインしているユーザーのみに表示する方法

2013年5月8日

WordPress でユーザーがログイン済みかを判定するには is_user_logged_in() を使用する。

ユーザーがログインしているかどうかで処理を分けたい場合などに便利。

例えば、ログインしているユーザーのみにあるコンテンツへのリンクを表示する場合など。

以下の例は、

  • ログインしているユーザーのみに表示するカテゴリー(usage)を作成
  • このカテゴリーの投稿は「非公開」とする
  • is_user_logged_in() を使用してログインしているユーザーのみにそれらのタイトルのリンクを表示する
<?php if(is_user_logged_in()) {
  $my_posts = get_posts(array('category_name' => 'usage', 'post_status' => 'private'));
  echo '<ul>';
  foreach($my_posts as $post) : setup_postdata($post);
?>
  <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>
<?php 
  echo '</ul>';
  wp_reset_postdata(); 
}
?>
is_user_logged_in() 関数
閲覧者(ユーザー)がログイン済みかを判定する
パラメータ :なし
戻り値:閲覧者がログイン済みの場合はtrue、それ以外はfalseを返す