WordPress ユーザー権限別の条件分岐の設定方法

WordPress のユーザー権限別の条件分岐の設定方法を紹介します。
例えば、本番環境でのテストアップを、指定したユーザー限定にしたいときに便利な方法です。

  1. ユーザー権限のおさらい
  2. 管理者だけに表示する方法
  3. 編集者だけに表示する方法
  4. 投稿者だけに表示する方法
  5. 寄稿者だけに表示する方法
  6. 購読者だけに表示する方法
  7. 複数の権限を指定する方法
  8. ログイン中に表示する方法

ユーザー権限のおさらい

まずはユーザー権限のおさらい。分岐処理に必要な権限のスラッグを確認してください。

管理者
slug : administrator
シングルサイト内のすべての管理機能にアクセスできるユーザー
編集者
slug : editor
他のユーザーの投稿を含むすべての投稿を発行、管理できるユーザー
投稿者
slug : author
自身の投稿を発行、管理できるユーザー
寄稿者
slug : contributor
自身の投稿を編集、管理できるが、発行はできないユーザー
購読者
slug : subscriber
プロフィール管理のみを実行できるユーザー

管理者だけに表示する方法

ユーザー権限が「管理者(administrator)」の場合、current_user_can() の値に administrator を追加すると、管理者を対象とした分岐処理を行えます。

<?php if(current_user_can('administrator')): ?>
管理者の場合に表示
<?php endif; ?>

編集者だけに表示する方法

ユーザー権限が「編集者(editor)」の場合、current_user_can() の値に editor を追加すると、編集者を対象とした分岐処理を行えます。

<?php if(current_user_can('editor')): ?>
編集者の場合に表示
<?php endif; ?>

投稿者だけに表示する方法

ユーザー権限が「投稿者(author)」の場合、current_user_can() の値に author を追加すると、投稿者を対象とした分岐処理を行えます。

<?php if(current_user_can('author')): ?>
投稿者の場合に表示
<?php endif; ?>

寄稿者だけに表示する方法

ユーザー権限が「寄稿者(contributor)」の場合、current_user_can() の値に contributor を追加すると、寄稿者を対象とした分岐処理を行えます。

<?php if(current_user_can('contributor')): ?>
寄稿者の場合に表示
<?php endif; ?>

購読者だけに表示する方法

ユーザー権限が「購読者(subscriber)」の場合、current_user_can() の値に subscriber を追加すると、購読者を対象とした分岐処理を行えます。

<?php if(current_user_can('subscriber')): ?>
購読者の場合に表示
<?php endif; ?>

複数の権限を指定する方法

複数の権限を指定する場合は || を利用します。以下は、「管理者」と「編集者」のみを指定した例です。

<?php if(current_user_can('administrator') || current_user_can('editor')):?>
管理者と編集者の場合に表示
<?php endif; ?>

ログイン中に表示する方法

ユーザー権限関係なく、ログイン中のユーザーのみに表示する場合は is_user_logged_in を使用します。

<?php if(is_user_logged_in()): ?>
ログイン中に表示
<?php endif; ?>

まとめ

WordPress ユーザー権限別に分岐処理を行う方法を紹介しま