こんにちは、阿久梨絵です!
WordPress サイトでは、ログインユーザーのみ特定のコンテンツを表示 したり、未ログインユーザー向けに別の情報を提供 することが可能です。
このような表示制御を行うには、条件分岐(if文)を活用 し、WordPressの関数 is_user_logged_in() を使うことで簡単に実装できます!
この記事では、条件分岐の基本・活用例・カスタマイズ方法 を詳しく解説します。
1. is_user_logged_in() とは?
is_user_logged_in() は、現在のユーザーがログインしているかどうかを判定する関数 です。
この関数は、ログインしている場合は true、ログインしていない場合は false を返す ため、if文を使って表示制御を行うことができます。
・ログイン状態を判定 → ユーザーがログインしているかどうかをチェック
・コンテンツの表示制御 → ログインユーザー向けの情報を表示
・会員制サイトの構築 → 未ログインユーザーには別の案内を表示
この関数を活用すると、WordPressサイトの柔軟なカスタマイズが可能になります!
2. is_user_logged_in() を使った基本的な条件分岐
① ログインユーザーのみ表示
以下のコードを header.php や sidebar.php に追加すると、ログインユーザーのみ特定のコンテンツを表示 できます。
<?php if ( is_user_logged_in() ) : ?>
<p>ようこそ、ログインユーザー様!</p>
<?php endif; ?>
このコードを追加すると、ログインしているユーザーにのみメッセージが表示されます!
② 未ログインユーザー向けの表示
未ログインユーザーに別のメッセージを表示する場合は、!is_user_logged_in() を使って条件分岐を行います。
<?php if ( ! is_user_logged_in() ) : ?>
<p>ログインすると、限定コンテンツを閲覧できます!</p>
<?php endif; ?>
このコードを追加すると、未ログインユーザーにログインを促すメッセージが表示されます!
③ ログイン状態で表示を切り替える
ログインしている場合と、していない場合で異なるコンテンツを表示 することも可能です。
<?php if ( is_user_logged_in() ) : ?>
<p>ログインユーザー向けの特別コンテンツ</p>
<?php else : ?>
<p>ログインすると、限定コンテンツを閲覧できます!</p>
<?php endif; ?>
このコードを追加すると、ログイン状態に応じて異なるメッセージが表示されます!
3. ショートコードを使った条件分岐
ショートコードを作成すると、投稿や固定ページ内で条件分岐を適用 できます。
以下のコードを functions.php に追加すると、
ログインユーザーのみコンテンツを表示するショートコード を作成できます。
function if_login_shortcode( $atts, $content = null ) {
if ( is_user_logged_in() ) {
return ‘<div class=”login-content”>’ . $content . ‘</div>’;
} else {
return ‘<p>ログインすると、限定コンテンツを閲覧できます!</p>’;
}
}
add_shortcode(‘if-login’, ‘if_login_shortcode’);
記事内で [if-login]ログインユーザー向けのコンテンツ[/if-login] と入力すると、ログイン状態に応じて表示が切り替わります!
4. is_user_logged_in() の活用例
・会員制サイトの構築 → ログインユーザーのみ特定のページを閲覧可能に
・限定コンテンツの表示 → 未ログインユーザーには別の案内を表示
・ナビゲーションのカスタマイズ → ログイン状態に応じてメニューを変更
・ショートコードを活用 → 記事内で条件分岐を適用
この関数を活用すると、WordPressサイトの柔軟なカスタマイズが可能になります!
まとめ
・is_user_logged_in() を使うと、ログイン状態に応じた表示制御が可能!
・if文を活用すれば、ログインユーザー向けのコンテンツを簡単に設定できる
・ショートコードを作成すると、投稿や固定ページ内でも条件分岐を適用可能
・会員制サイト・限定コンテンツ・ナビゲーションカスタマイズなど、幅広い用途に活用!
WordPressサイトを運営するなら、条件分岐を活用した表示制御は必須のカスタマイズ です!
ぜひ、適切な方法で is_user_logged_in() を活用し、サイトの利便性を向上させましょう。
阿久梨絵でした!