web関連

WordPressでログインユーザーのみに表示するための記述

使用頻度が高いので、自分用にメモ。

運営中のサイトに少し手を加えたい場合や、自作プログラムの実行結果を自分だけに表示させて確認したい場合などに役立ちます。

ログインユーザーのみに内容を表示させる場合

[php]<?php if (is_user_logged_in()) : ?>

<!– ログインユーザーのみに表示される箇所 –>
<?php bloginfo(‘name’); ?>

<?php endif; ?>[/php]

is_user_logged_in のif文の箇所は、ログインユーザーならという意味なので、以下の場合は、ログインしていれば、bloginfoによってサイト名が表示されます。

会員限定のコンテンツがあるようなサイトでは、会員だけに表示したい箇所で使われることが多いですね。

ログインユーザーが管理人(自分)だけといった場合には有効な方法ですが、不特定多数がログイン出来るようなサイトで、自分だけに表示させるためには、以下の方法が有効です。

指定されたユーザーのみに内容を表示させる場合

[php]<?php $user = wp_get_current_user();
if( $user->get(‘user_login’) == "user_name"): ?>

<!– user_nameがログイン中のみに表示される箇所 –>
<?php bloginfo(‘name’); ?>

<?php endif; ?> [/php]

こうすれば、user_nameというアカウントでログインしている場合のみ、bloginfoによってサイト名を表示させることが可能です。他のログインユーザーには表示されません。

権限で切り分ける場合

[php]
<?php if (current_user_can(‘administrator’)) : ?>

<!– 管理者がログイン中のみに表示される箇所 –>
管理者の場合
<?php else: ?>
管理者以外の場合
<?php endif; ?> [/php]