このブログはWordPressを使っている。
WordPressではログインしているユーザーのみに表示させたいものがあった場合などに使える関数がある。
この場合のテンプレート関数の書き方。■設定環境
WordPressバージョン 4.2.2
is_user_logged_in()を使用する方法とget_currentuserinfo()を使う方法がある。
ログインしているユーザーのみ表示させたりしなかったりすることができるので
会員制コンテンツでのWordPressの使用などが考えられる。
個人ブログでは自身でのアクセス時に広告の表示をさせたくない場合などに利用できるだろう。
アクセス数がそこまでない個人ブログなどの場合には表示回数がクリック単価へ影響してしまうのでログイン時非表示にしておくのは有効でしょう。
目次
ログインしているユーザーのみに表示させる分岐のいれ方
is_user_logged_in()
ユーザーがログインしているときの表示分岐へ使用。
前述のように会員制サイトなどでも利用される。
<?php if (is_user_logged_in()) ?>
ログインユーザーへ表示
<?php elseif { ?>
ログインしてないユーザーへ表示
<?php } ?>
ログインしているユーザーに広告やアナリティクスコードを表示させたくない場合には下記になる。
<?php if (is_user_logged_in()) ?>
//非表示
<?php elseif { ?>
//広告タグを書く
<?php } ?>
get_currentuserinfo()
get_currentuserinfo()を使うとログインユーザーの権限レベルに応じで条件分岐が作れる。
管理者(administrator):10
編集者(editor):7
投稿者(author):2
寄稿者(contributor):1
購読者(subscriber):0
</blockquote>
<?php
global $current_user;
get_currentuserinfo();
if ($current_user->ID == '') {
// ログインしていない
} else if ($current_user->user_level == 10) {
// 管理者(administrator)としてログインしている
} else if ($current_user->user_level >= 7) {
// 編集者(editor)としてログインしている
} else if ($current_user->user_level >= 4) {
// 作成者(author)としてログインしている
} else if ($current_user->user_level >= 1) {
// 投稿者(contributor)としてログインしている
} else {
// 購読者(subscriber)としてログインしている
}
?>


コメント