WordPressでユーザーの最後のログイン日時を表示する方法(簡単な2つの方法)

複数のユーザーがいるWordPressサイトを運営している場合、誰かが最後にログインしたのがいつかを知りたいと思ったことがあるでしょう。会員制サイト、オンラインストア、または複数の著者を持つブログを管理している場合でも、ユーザーアクティビティを追跡することで、非アクティブなアカウントを特定し、サイトのセキュリティを強化することができます。

問題は、WordPressではこの情報がデフォルトで表示されないことです。

良いニュースは、簡単に追加する方法があることです。いくつかの方法をテストした後、サイトを遅くしない、シンプルで信頼性の高い2つのオプションを見つけました。

このガイドでは、WordPressでユーザーごとの最終ログイン日を表示する方法をステップバイステップで説明します。

WordPressでユーザーの最終ログイン日時を表示する方法

💡クイックアンサー:WordPressでユーザーの最終ログインを表示する

WordPressでユーザーの最終ログイン日を表示するには、主に2つの方法があります。

  • プラグインを使用する: WP Last Loginプラグインは最も簡単な方法です。管理画面の「ユーザー」画面に「最終ログイン」列を追加します。
  • カスタムコードを追加する: より柔軟な方法は、WPCodeプラグインを使用してPHPコードスニペットを追加することです。これにより、ユーザープロファイルなど、サイトのどこにでも最終ログイン日を表示できます。

WordPressでユーザーの最終ログイン日を表示する理由

ユーザーが最後にウェブサイトにログインした日時を追跡することは、セキュリティと管理のために貴重な洞察を提供します。主な利点は次のとおりです。

  • 複数著者サイトの管理: 複数の寄稿者がいるブログを運営している場合、著者、編集者、その他のスタッフがコンテンツの作業のためにいつログインしているかを簡単に確認できます。
  • セキュリティの強化: 最終ログイン日時を監視することで、不審なアクティビティを素早く発見できます。例えば、管理者アカウントの異常なログイン時刻に気づいた場合、すぐに調査できます。また、セキュリティリスクになり得る非アクティブなアカウントを特定し、削除するのに役立ちます。
  • ユーザーアクティビティの監視: 会員サイト、オンラインコース、フォーラムでは、最終ログイン日時を確認することで、ユーザーのエンゲージメントレベルを知ることができます。これにより、再エンゲージメントキャンペーンが必要なユーザーを特定するのに役立ちます。

WordPressでユーザーの最終ログイン日時を表示するには、2つの方法があります。

1つ目は、プラグインを使用してWordPress管理画面内にログイン日時を表示する方法です。2つ目は、カスタムコードスニペットを使用して手動で最終ログイン日時を表示する方法です。

下のリンクをクリックするだけで、お好みのセクションにジャンプできます。

方法1:WordPress管理画面でユーザーの最終ログイン日を表示する

WP Last Loginプラグインを使用すると、最終ログイン日時を簡単に表示できます。これは、管理ダッシュボードに「最終ログイン」列を追加するために特別に設計された無料プラグインです。

この方法は簡単ですが、WordPress管理画面内にのみユーザーの最終ログイン日時が表示されます。

まず、WP Last Loginプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。

最も良い点は、プラグインがすぐに機能し、心配する必要のある追加設定がないことです。

アクティブ化後、管理エリアのユーザー » 全ユーザーページにアクセスする必要があります。各ユーザーの最終ログイン日時を示す新しい列に気づくでしょう。

ダッシュボードで最後のログインを表示

最初は、すべてのユーザーに対して「なし」と表示される場合があります。これは、プラグインが有効化されてからユーザーがログインする必要があるため、最終ログイン日時をキャプチャして保存できるからです。

方法2:WordPressでユーザーの最後のログイン日時を手動で表示する

この方法を使用すると、WordPressサイトのどこにでもユーザーの最終ログイン日時を表示できます。

ただし、テーマのfunctions.phpファイルまたはサイト固有のプラグインにカスタムコードを追加する必要があります。functions.phpファイルを直接編集することは推奨しません。わずかな間違いでもウェブサイトが破損する可能性があるためです。

カスタムコードをサイトに追加する簡単な方法は、WPCodeプラグインを使用することです。これはWordPress向けの最高のコードスニペットプラグインであり、サイトのどこにでもカスタムコードを壊すことなく管理、整理、挿入するのに役立ちます。

さらに、カスタムコードを作成してくれるAIコードジェネレーターも気に入っています。詳細については、WPCodeの詳細レビューをご覧ください。

まず、WPCodeプラグインをインストールして有効化する必要があります。ヘルプが必要な場合は、WordPressプラグインのインストール方法に関するガイドを参照してください。

注意: このチュートリアルで使用できる無料のWPCodeプラグインもあります。ただし、プレミアムプラグインにアップグレードすると、クラウドベースのコードスニペットライブラリ、スマート条件付きロジックなどにアクセスできるようになります。

有効化したら、WordPressダッシュボードから コードスニペット » + スニペットを追加 に移動できます。

次に、「カスタムコードを追加(新規スニペット)」オプションにカーソルを合わせ、「スニペットを使用」をクリックするだけです。

カスタムコードを追加する

その後、以下のコードをコピーしてコードプレビューエリアに追加できます:

<?php 
/**
 * Capture user login and add it as timestamp in user meta data
 *
 */
 
function user_last_login( $user_login, $user ) {
    update_user_meta( $user->ID, 'last_login', time() );
}
add_action( 'wp_login', 'user_last_login', 10, 2 );
 
/**
 * Display last login time
 *
 */
  
function wpb_lastlogin() { 
    $last_login = get_the_author_meta('last_login');
    $the_login_date = human_time_diff($last_login);
    return $the_login_date; 
} 
 
/**
 * Add Shortcode lastlogin 
 *
 */
  
add_shortcode('lastlogin','wpb_lastlogin');
?>

このコードは、最終ログインをメタキーとして追加します。

ユーザーがログインするたびに、その時間がメタキーの値として保存されます。

コードを入力した後、カスタムコードのタイトルを入力し、「コードタイプ」を PHP スニペットとして選択する必要があります。

WPCodeに最終ログインコードを追加する

ここから、下にスクロールしてコードを挿入する場所を選択できます。

このチュートリアルでは、デフォルトの方法を使用し、「自動挿入」方法に限定します。これにより、カスタムコードはウェブサイトのどこでも実行されます。

WPCodeでの挿入方法

完了したら、一番上までスクロールしてください。

カスタムコードスニペットを有効にし、「スニペットを保存」ボタンをクリックしてください。

WPCodeでスニペットをアクティブ化して保存する

コードの追加が初めての場合は、ウェブ上のコードを貼り付けるための初心者ガイドに関するこの記事をお読みください。

WordPressの投稿、ページ、ウィジェットで、[lastlogin] ショートコードを使用して最終ログイン日時を表示できるようになりました。

使用するには、投稿またはページを編集し、「ショートコード」ブロックを追加するだけです。ブロック内にショートコードを貼り付けます。

[lastlogin]
WordPressにショートコードブロックを追加する方法

これで、ログイン中のユーザーがページを表示すると、自身の最終ログイン時間が表示されます。訪問者がログアウトしている場合、ショートコードは何も表示しません。

同様に、子テーマに最終ログイン情報を表示したい場合は、代わりにこのコードを追加できます。

<?php echo 'Last seen: '. do_shortcode('[lastlogin]') .' ago'; ?>

プラグインをテストする前に、WordPressからログアウトしてから再度ログインする必要があります。

次に、WordPressのウェブサイトにアクセスして、ログイン日時が機能していることを確認してください。

ユーザー最終ログイン時刻

ご覧のとおり、このコードは完全な日時ではなく、相対的な日時、「2時間前」を表示します。

完全な日付と時刻を表示したい場合は、上記のコードでこの行を見つける必要があります:

$the_login_date = human_time_diff($last_login);

次の行に置き換えてください:

$the_login_date = date('M j, Y h:i a', $last_login);

このコードのM j, Y h:i a部分は、日付と時刻のフォーマット文字列と呼ばれます。このコードが日付と時刻を表示する方法を変更したい場合は、WordPressの日付と時刻のフォーマットを変更する方法に関するガイドをご覧ください。

ユーザーログイン日時に関するよくある質問

WordPressでユーザーの最終ログイン日時を表示することについて、読者からよく寄せられる質問をいくつかご紹介します。

すべてのユーザーに対して「最終ログイン」列に「never」と表示されるのはなぜですか?

プラグインを有効化したりコードを追加したりした直後は、これが通常の動作です。システムはインストール後に発生したログインのみを追跡できます。

過去のログインデータにはアクセスできません。「never」というメッセージは、各ユーザーが再度ログインした際に、正しい日付と時刻に置き換えられます。

「2時間前」ではなく、正確な日付と時刻を表示するにはどうすればよいですか?

方法2でコードスニペットを使用した場合は、フォーマットを簡単に変更できます。コード内の $the_login_date = human_time_diff($last_login); という行を見つけ、$the_login_date = date('M j, Y h:i a', $last_login); に置き換えてください。これにより、完全な日付と時刻のタイムスタンプが表示されます。

最終ログイン日時の追跡は、WordPressサイトの速度を低下させますか?

いいえ、この記事で説明されている方法は非常に軽量です。プラグインとカスタムコードスニペットの両方で、ユーザーがログインしたときにデータベースに小さなエントリを追加する簡単な関数が実行されます。このアクションは効率的であり、サイトのパフォーマンスに目立った影響を与えることはありません。

この記事が、WordPressでユーザーの最終ログイン日時を表示する方法を学ぶのに役立ったことを願っています。また、WordPress投稿に著者情報ボックスを追加する方法に関するガイドや、WordPressにソーシャルログインを追加する方法のチュートリアルも参照してください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

10 CommentsLeave a Reply

  1. ありがとうございます、非常に役立ちます。このデータを収集する方法をカスタマイズできるコードに感謝します!

  2. ユーザーがオフラインの場合は赤い点、オンラインの場合は緑の点が表示されるようにすることは可能ですか?

  3. Wordfence が最終ログイン日時をメタフィールドとして保存していることを認識しておくと良いでしょう。

  4. スクリプトをありがとうございます。
    一点気になることがあります。全ユーザーが管理者(作成者)の最終ログイン日時を確認できてしまいます。
    ユーザーごとに自身の最終ログイン日時を確認できるようにする方法はありますか?

    よろしくお願いいたします。

    • 個々の最後のログインを表示する場合、手動コードの方法は初心者には推奨できないため、プラグインの方法を使用することをお勧めします。

      管理者

  5. Hello,

    正常に動作しますが、日付/時刻の行が変更された際のタイムスタンプには、依然として7時間の時差が表示されますか?

    最終ログイン時間を太平洋標準時に表示するにはどうすればよいですか?私のタイムゾーンです。

    アドバイスをお願いします。ありがとうございます。

    Cheers!

コメントを残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。