WP內容/功能只有指定的會員/用戶組查看

發表留言 人氣: 3232°c

WordPress博客的敏感內容或某些特定的功能,想只有註冊用戶看到,或只有特定的會員查看到的,

WP的分組會員權限等級條件,可以達到想要的效果,不需要安裝任何的外掛(插件)。

首先!介紹一下WordPress的等級權限區分︰
Administrator 管理員: level 8 ~ 10
Editor 編輯: Level 5 ~ 7
Author 作者: Level 2 ~ 4
Contributor 撰寫人員(投稿者): Level 1
Subscriber 訂閱者: Level 0

有了以上的等級權限表,我們就能夠很容易設定分級內容查看權。

例如: 只有管理員才可以看到

說明: 以下代碼,其中"level_10“數字可以根據條件修改。
<?php global $user_ID; if( $user_ID ) : ?>
<?php if( current_user_can('level_10') ) : ?>
這裡的內容只有管理員看到的唷!!
<?php endif; ?>
<?php endif; ?>

也可以簡單寫成這樣的形式︰

說明: 以下代碼,其中"admin“是能夠查看此內容的會員名稱。
<?php if($GLOBALS['user_login']=='admin') { echo '這裡的內容只有admin會員才看見到'; } ?>
也可以在同一處位置,按不同的等級,不同的會員身份,查看到不同的內容。
<?php if (current_user_can('level_10')) : ?>
<?php print "只有管理員看見到"; ?>
<?php elseif (current_user_can('level_7')) : ?>
<?php print "只有編輯看見到"; ?>
<?php elseif (current_user_can('level_4')) : ?>
<?php print "只有作者看見到"; ?>
<?php elseif (current_user_can('level_2')) : ?>
<?php print "只有撰寫人員(投稿者)看見到"; ?>
<?php elseif (current_user_can('level_0')) : ?>
<?php print "只有訂閱者看見到"; ?>
<?php else : ?>
<?php print "訪客提示:對不起,你還沒有註冊/登錄。"; ?>
<?php endif; ?>

如果你想希望登錄者與普通訪客看到不同的事件/內容。
<?php if (is_user_logged_in()){
echo "提示:很高興你己經註冊/登錄了,所以你看見到我了。";
}
else {
echo "提示:訪客!請註冊/登錄,成為我們的一份子。";
};
?>

如果你想希望只有註冊/登錄者/會員看到指定的內容。
<?php global $user_ID; if( $user_ID ) : ?>
歡迎你回來...只有註冊/登錄會員可見到唷!
<?php endif; ?>

如果你想希望只有訪客看到指定的內容。
<?php if (!$user_ID) { ?>
瀏覽者您好嗎....請加入網站,成為我們的一份子。
<?php } ?>

<?php if (!$user_ID && !isset($_COOKIE['comment_author_'.COOKIEHASH])) { ?>
訪客您好!
<?php } ?>

如果你想希望在發佈文章的時候,其中某一段內容/文字,只有註冊/登錄的閱讀者才能看見到。

在Wordpress的主題,functions.php文件,加入以下的代碼:
add_shortcode( 'members', 'member_check_shortcode' );
function member_check_shortcode( $atts, $content = null ) {
if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )
return $content;
return '';
}

運用方法:
在發佈文章的時候,編輯器切換為"文字/html“模式,輸入短代碼
[members]只有註冊/登錄會員查看到[/members]

推薦外掛(插件):
如果你想隱藏文章的部分內容(如猜謎遊戲的謎底),讓讀者登錄後才可查看隱藏的內容,可以使用這款外掛:“Login to view all"
如果你是想讓閱讀者回覆後才可以閱讀隱藏的內容,可以用這款外掛:"Easy2hide"

相關文章:
WP廣告or文字or圖片只在指定頁面顯示

標籤: