ワードプレスのis_user_logged_in関数の使用方法・解説

概要

is_user_logged_in関数は、現在のユーザーがログインしているかどうかを確認するために使用されます。この関数は、閲覧者がログイン済みか調べる場合に非常に便利です。主に、次のような機能を持つプラグインやテーマで利用されることが多いです:

  1. 会員制サイトでのアクセス制限
  2. プライベートコンテンツの表示
  3. ユーザー向けのメッセージまたは通知の表示
  4. ユーザーダッシュボードの表示切替
  5. 特典情報や割引情報の表示
  6. コメント機能の制御
  7. ユーザーエクスペリエンスの向上
  8. 特定のページや機能へのアクセス制御

構文

is_user_logged_in();

パラメータ

この関数はパラメータを受け取りません。

戻り値

is_user_logged_in関数は、ユーザーがログインしていればtrue、そうでなければfalseを返します。

関連する関数

関連する関数には、次のようなものがあります:wp_get_current_useris_user_admincurrent_user_canなど。

使用可能なバージョン

is_user_logged_in関数は、WordPress 1.5.0以降のバージョンで使用可能です。

コアファイルのパス

この関数は、wp-includes/user.phpファイルに含まれています。

サンプルコード

サンプルコード 1: ユーザーがログインしている場合のメッセージ表示

if ( is_user_logged_in() ) {
    echo 'ようこそ、' . wp_get_current_user()->display_name . 'さん!';
} else {
    echo 'ログインしてください。';
}

このコードは、ユーザーがログインしている場合にそのユーザー名を表示し、ログインしていない場合はログインを促すメッセージを表示します。

サンプルコード 2: コンテンツの表示制御

if ( is_user_logged_in() ) {
    echo '<p>ログインユーザー専用のコンテンツ</p>';
} else {
    echo '<p>このコンテンツは会員限定です。</p>';
}

このコードは、ユーザーがログインしている場合にのみ特定のコンテンツを表示し、ログインしていない場合には別のメッセージを表示します。

サンプルコード 3: コメント投稿の条件制御

if ( is_user_logged_in() ) {
    // コメント投稿フォームを表示
    comment_form();
} else {
    echo '<p>コメントを投稿するにはログインが必要です。</p>';
}

このコードでは、ユーザーがログインしている場合にコメント投稿フォームを表示し、ログインしていない場合には通知メッセージを表示します。

サンプルコード 4: ダッシュボードへのリダイレクト

if ( !is_user_logged_in() ) {
    wp_redirect( home_url( '/login' ) );
    exit;
}

このコードは、ユーザーがログインしていない場合にログインページにリダイレクトします。ログイン済みのユーザーにはダッシュボードが表示されます。

サンプルコード 5: 特定のメニューの表示切替

function custom_menu() {
    if ( is_user_logged_in() ) {
        // ログインユーザー向けメニュー
        wp_nav_menu( array( 'theme_location' => 'logged-in-menu' ) );
    } else {
        // ゲスト向けメニュー
        wp_nav_menu( array( 'theme_location' => 'guest-menu' ) );
    }
}
add_action( 'wp_nav_menu', 'custom_menu' );

このコードでは、ログインしているユーザーとログインしていないユーザーに応じて異なるメニューを表示しています。

この関数のアクションでの使用可能性

アクション名 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

この関数は、特定のWordPressバージョンで非推奨または削除された場合はありません。

この関数について質問する


上の計算式の答えを入力してください