WordPressはウェブサイトを作成するための一般的なプラットフォームであり、多くのデータをトラッキングします。しかし、ユーザーの最終ログイン日をトラッキングして表示することはできません。この情報は、サイト管理者、セキュリティ目的、エンゲージメント戦略の作成にとって非常に貴重な情報となります。
ユーザーの最終ログイン日を表示するには、WordPressプラグインを使用するか、カスタムコードを追加する必要があります。本当に〜してもよいですか?
私たちは、何千人ものユーザーがWordPressを使い始め、サイトにカスタマイザー機能を追加するお手伝いをしてきました。複数のプラグインをテストした結果、WP Last Loginが最良の設定であることがわかりました。もっとコントロールしたい場合は、サイトに追加できるコードスニペットも作成しました。
この投稿では、WordPressでユーザーの最終ログイン日を表示する方法を紹介します。
WordPressでユーザーの最終ログイン日を表示する理由
WordPressダッシュボードとフロントエンドにユーザーの最終ログインカラムを追加することで、投稿者、管理者、エディター、寄稿者、その他のユーザーがいつWordPressサイトにログインし、ログアウトしたかを記録することができます。
これは、不審な活動やサイバー脅威からサイトを守るために非常に有効です。
例えば、あなたのサイトがユーザーによってインストールされたWordPressプラグインに起因する脆弱性にさらされているとします。最終ログイン日を使ってユーザーをトラッキングし、問題を素早く修正することができる。
同様に、ユーザーの最終ログイン日を表示することで、管理者、寄稿者、投稿者、その他がサイトでの作業に費やしている時間をモニターしやすくなります。複数の投稿者がいるサイトでは、各ユーザーの作業時間を追跡することができます。
とはいえ、WordPressでユーザーの最終ログイン日を表示するには2つの方法があります。まず、プラグインを使ってWordPressの管理画面にログイン日を表示する。二つ目は、カスタムコードスニペットを使って手動で最終ログイン日を表示する方法です。
以下のリンクをクリックして、お好きなセクションにお進みください:
方法1:WordPress管理エリアにユーザーの最終ログイン日を表示する
WP Last Loginプラグインを使えば、簡単に最終ログイン日を表示することができます。この方法は簡単ですが、WordPressの管理エリア内でのみユーザーの最終ログイン日を表示します。
最初に行う必要があるのは、WP Last Loginプラグインをインストールして有効化することです。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。
一番良いのは、プラグインが箱から出してすぐに使えることで、心配するような追加設定はない。
有効化した後、管理エリアのユーザー ” すべてのユーザーページにアクセスする必要があります。各ユーザーの最終ログイン日を示す新しいカラムがあることに気づくでしょう。
最初は、すべてのユーザーに対して「never」と表示されるかもしれません。これは、プラグインが有効化してからユーザーがログインし、最終ログイン日を取得して保存する必要があるためです。
方法2:WordPressでユーザーの最終ログイン日を手動で表示する
この方法では、WordPressサイト上の任意の場所にユーザーの最終ログイン日を表示することができます。
ただし、テーマのfunctions.phpファイルにカスタムコードを追加するか、サイト固有のプラグインが必須となります。functions.phpファイルを直接編集することはお勧めしません。わずかなミスでサイトが壊れてしまう可能性があるからです。
あなたのサイトにカスタマイザーを追加する簡単な方法は、WPCodeプラグインを使用することです。WPCodeプラグインは、WordPressのための最高のコードスニペットプラグインで、サイトのどこにでもカスタムコードを管理、整理、挿入することができます。さらに、カスタムコードを作成するAIコードジェネレータも備えています。
まず、WPCodeプラグインをインストールし、有効化する必要があります。WordPressプラグインのインストール方法については、こちらをご覧ください。
注:このチュートリアルで使用できる無料のWPCodeプラグインもあります。しかし、プレミアムプラグインにアップグレードすると、クラウドベースのコードスニペットライブラリ、スマート条件ロジックなどを利用できるようになります。
有効化した後、WordPressダッシュボードからCode Snippets ” + Add Snippetに行くことができます。
次に、「カスタムコードを追加(新規スニペット)」設定にマウスオーバーし、「スニペットを使用」をクリックします。
その後、以下のコードをコピーして、コード・プレビュー・エリアに追加します:
<?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スニペットとして選択する必要があります。
ここから下にスクロールし、コードを挿入する場所を選択することができます。
このチュートリアルでは、初期設定のメソッドを使用し、「Auto Insert」メソッドに留めておきます。こうすることで、カスタムコードがサイト上のあらゆる場所で実行されるようになります。
終わったら、スクロールして一番上に戻るだけ。
カスタムコードスニペットを有効化し、「Save Snippet」ボタンをクリックします。
コードを追加するのが初めての方は、ウェブからのコードの貼り付けに関するガイドをお読みください。
そして、WordPressの投稿やウィジェットに[lastlogin]
ショートコードを使用して最終ログイン日の値を表示することができます。
投稿やページを編集し、コンテンツエディターに移動するだけです。
ここから、最終ログイン日を表示したい場所にショートコード・ブロックを追加し、ショートコードを貼り付けます。
同様に、子テーマで最終ログイン情報を表示したい場合は、代わりに以下のコードを追加します:
<?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でユーザーの最終ログイン日を表示する方法について、この投稿がお役に立てれば幸いです。WordPressの投稿に投稿者情報ボックスを追加する方法や、WordPressのセキュリティに関する究極のガイドもご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Babak Fakhamzadeh
It is worth being aware of that Wordfence stores the last login date as a meta field.
WPBeginner Support
Thanks for sharing that current feature for those using Wordfence.
管理者
Fredrick Arije
Thanks for the script.
I have an observation. All users sees the last login of the admin (author).
Is there a way for each user to see their own last login?
Please help. Thanks
WPBeginner Support
For showing individual last logins we would recommend using the plugin method as a manual code method would be more advanced than what we would recommend for beginners.
管理者
Bobby
Hello,
It works great but the time stamp when the line is changed for date/time still shows a 7 hour time difference?
How can I make the last login time show Pacific Standard Time. That is my timezone.
Please advise, thanks.
Cheers!
Nobin
Thanks For Share That was most useful trick