current_user_can:依照會員等級顯示不同的內容

儘管WordPress的會員機制在整體運作上似乎不是太重要的角色,因為預設的應用只有在後台發表介面而已,如果要使用到前台針對不同等級的會員顯示不同的頁面或是內容,那使用者就要透過官方的Codex自行變更,以下提供一些關於辨識會員等級的語法,若您看得懂,相信可以對前台做一些不一樣的應用。

WordPress 會員等級

首先先來了解WordPress會員的等級區分:

  1. 管理者:Administrator: level 10
  2. 編輯:Editor: Level 7
  3. 作者:Author: Level 4
  4. 撰寫人員:Contributor: Level 2
  5. 訂閱者:Subscriber: Level 0
  6. 一般訪客(非會員): Level 在 0 以下

以下將使用官方提供的函數: current_user_can 來做會員等級區分。

僅允許管理員可瀏覽

<?php global $user_ID; if( $user_ID ) : ?>
<?php if( current_user_can('level_10') ) : ?>
這裡顯示的內容為管理員可以看到的。
<?php endif; ?>
<?php endif; ?>

依照會員等級顯示不同的內容

<?php if (current_user_can('level_10')) : ?>
管理員可看到
<?php elseif (current_user_can('level_7')) : ?>
編輯可看到
<?php elseif (current_user_can('level_4')) : ?>
作者可看到
<?php elseif (current_user_can('level_2')) : ->
撰寫者可看到
<?php elseif (current_user_can('level_0')) : ?>
訂閱者可看到
<?php else : ?-->
一般非會員(未登入者)可看到
<?php endif; ?-->

更多會員權限等級,可以看官方說明文件,這裡有表格可以清楚了解到各個會員等級預設的權限。