首先,我們完成wordpress後,我們希望一些文章給
不同權限的會員閱讀
登入後才能樂讀
自創角色才可以閱讀
又不想使用外掛,那我們可以使用以下代碼來完成
第一步,開啟主題 functions.php,將下面代碼貼入![topics_line]()
[cc lang="php"] //WordPress實現角色權限等級、是否登入等隱藏部分文章內容 add_shortcode('eyesonly', 'sc_eyesonly'); function sc_eyesonly($atts, $content = null) { extract(shortcode_atts(array('username' => null, 'level' => null, 'logged' => null,'hide' => null,),$atts)); if (!$hide || $hide === 'no' || $hide === 'false'){$pre = null; $thecontent = do_shortcode($content);} if ($hide && $hide !== 'no' && $hide !== 'false'){$pre = do_shortcode($content); $thecontent = null;} $showcontent = $pre; $current_user = wp_get_current_user(); $users = preg_split("/[s,]+/",$username); $levels = preg_split("/[s,]+/",$level); foreach($users as $name){if($username && $current_user->user_login === $name){$showcontent = $thecontent;}} foreach($levels as $value){if($level && current_user_can($value)){$showcontent = $thecontent;}} if($logged && is_user_logged_in() && $logged === 'in'){$showcontent = $thecontent;} if($logged && !is_user_logged_in() && $logged === 'out'){$showcontent = $thecontent;} return $showcontent; } [/cc]
第二步,以上代碼添加了一個有多個參數可用的簡碼:
[eyesonly][/eyesonly]
參數為:
[cc lang="php"] // ogged="in|out" //必要數值,登入/登出 // level="anyrole, any_capability" //必要數值,可以填寫角色或能力,或自創角色 // username="anyusername" // 必填參數,直接填寫用戶名 // hide="yes" // 選填數值,是否隱藏 [/cc]