如果有需要不同內容顯示給不同權限(管理員、編輯、作者、撰寫人員、訂閱者)的使用者觀看的話,是可以運用current_user_can這個判斷條件來加以識別,各權限的代表程式碼如下:

  • level_10 => 管理員
  • level_7 => 編輯
  • level_2 => 作者
  • level_1 => 撰寫人員
  • level_0 => 訂閱者

範例 1:僅有管理員才能看到的區塊

範例 2:僅有作者以上的權限才能看到的區塊

PS:當設定為 0 代表只有訪客是看不到的,但根據我把玩current_user_can的心得來說,似乎是沒辦法做到只有作者才看得到、無法讓上位權限也看不到的寫法。

作者: Mr. 夫

唯有力量才能制衡一切,沒有力量什麼都保護不了,就連自身也難保...

參與討論

13 則留言

    1. 本篇文章是說如何在網頁內容上指定某些區塊依照不同權限顯示不同內容,如果你希望文章本身有權限指定功能的話就只能找外掛來達成這個效果了~

  1. 您好,我在用Log User Access插件,很囧的是所有用户都看得到Log User Access的菜单。
    想求助为插件设置使用权限的代码,原插件相关代码如下:
    // This function adds my admin page link to the menu
    if ( !function_exists( 'ft_lua_page_link' ) ){
    function ft_lua_page_link(){
    $userlogins_page = add_submenu_page( 'users.php', 'User Access Log' , 'User Access Log' , 2 , __FILE__ , 'ft_lua_page');
    add_action('admin_head-'.$userlogins_page , 'ft_lua_admin_head');
    }
    }

    add_action( 'admin_menu' , 'ft_lua_page_link' );

    1. 很好,能在外掛內找到相關的程式碼範圍,據我測試該外掛的結果是只有權限在作者以上的才看得到Log User Access選單,如果你希望只有最高等級的管理員(level_10)才能看到的話,只要照以下步驟修改即可。
      $userlogins_page = add_submenu_page( 'users.php', 'User Access Log' , 'User Access Log' , 2 , __FILE__ , 'ft_lua_page');
      這段裡面的 2 就是權限數值,改成 10 即可。

  2. 你好,請問wp網站要有會員機制,需申請為會員,註冊者才可以看到限定的文章,wp可以做的到嗎?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *