WordPressでユーザーがログイン中か否かで表示内容を出し分ける方法
5918 Views
WordPress
WordPress
WordPressを使って制作をしていると
・すでに公開してるサイトだからログイン中か否かで表示内容を出し分けたい
・管理者でログインしている時はAdsenceの自己クリックを防止するために非表示にしたい
などといった出し分けを行いたい時があるかと思います。
そんな時に使えるWordPressの関数です。
スポンサーリンク
目次
is_user_logged_in()
「is_user_logged_in()」はWordPressが持っている関数になります。
ページを見ているブラウザがWordPressへログインしているか否かを判定してくれるものなので、
<?php if (is_user_logged_in()) { //ログイン中 echo "ログイン中だよ!"; } else { //ログアウト echo "ログインしてないよ。"; } ?>
といった使い方が可能です!
ユーザーの権限に合わせて条件分岐
ユーザーが複数登録されているサイトで、権限レベルに合わせて条件分岐を行いたい場合は、
//ユーザ権限の取得 function getUserLevel() { global $current_user; get_currentuserinfo(); //ユーザレベルを取得 $userLevel = array_keys($current_user->caps); /* 管理者:administrator 編集者:editor 投稿者:author 寄稿者:contributor 購読者:subscriber */ return $userLevel[0]; }
functions.phpへ上記のコードを追加して、出し分けを行いたい該当箇所で、
<?php $userLevel = getUserLevel(); if ($userLevel == "administrator") { //管理者のみに表示 } else if ($userLevel == "editor") { //編集者のみ } else if ($userLevel == "author") { //投稿者のみ } else if ($userLevel == "contributor") { //寄稿者のみ } else if ($userLevel == "subscriber") { //購読者のみ } ?>
をしてあげればいいかと思います!
まとめ
ログイン中、ログアウト中それぞれの条件分岐ないでコードをたくさん書く必要があるときは、
ファイルをインクルードなどしてあげると、よりコードがゴチャゴチャしなくなっていいかもしれませんね。
スポンサーリンク