この記事は最後に更新してから1年以上経過しています。
説明
「先々週のアップデート」では、ダッシュボードの「ログインのログ」ウィジェット内に現在のユーザー(管理者のみ)のログイン状況を簡潔なメッセージで表示しましたが、一週間ほど使ってみると、もう少し詳しい情報が欲しくなりました。そんなわけで、ログイン中のユーザー情報を表示する新しいウィジェットを用意しました。
ログイン中のユーザー情報
前バージョン2.7.4では、メッセージの表示を以下のようなコードで判定しました。
$sessions = WP_Session_Tokens::get_instance( $profile_user->ID );
if ( count( $sessions->get_all() ) === 1 ) :
get_allメソッドは、メタキーが'session_tokens'のユーザーメタ情報を取得するもの。このユーザーメタ情報は、ユーザーがログインした際に追加され、ログアウトすると削除されるようになっており、メタキー'session_tokens'のユーザーメタ情報を持つユーザーがログイン中のユーザーとなります。このことをふまえて今回追加したのが「ログイン中のユーザー」ウィジェット。以下が管理者がログインした際のウィジェットの表示例です。
このウィジェットではユーザーエージェント情報をもとにOSとブラウザの種別を簡略化した内容で表示しています。主要なものには対応しましたが、意図した表示にならなかった場合は今後のアップデートで対応いたします。
またこの「ログイン中のユーザー」ウィジェットは1分間隔で内容を更新するようになっており、基本的になページ更新不要です(再ログイン後はページ更新が必要)。
複数の場所でログイン
この状態で別のブラウザを起動し、同じ管理者のアカウントでログイン。「ログイン中のユーザー」ウィジェットは次のように変わります。
赤字のメッセージに変わり、ユーザーリストの対象ユーザーも赤字で表示されます。このようにすることで、複数の場所でのログインを検知しやすくなるのではないでしょうか。
管理者以外の「ログイン中のユーザー」ウィジェット
「ログイン中のユーザー」ウィジェットは、管理者の場合は自動で表示されますが、そのほかのユーザーに表示させる場合は設定ページで「すべてのユーザーに「ログイン中のユーザー」ウィジェットを表示する。」をチェックしてください。
なお管理者以外の場合、ユーザーリストの内容は本人のアカウントのみとなります。
そのほかの変更点
「ログイン中のユーザー」ウィジェットの登場にあわせて「ログインのログ」ウィジェットの内容でもOSとブラウザを簡易表示するようになります(新しいログのみ)。また、「ログインのログ」ウィジェットの内容も1分間隔で更新されます。
最後に内部的な仕様の変更になりますが、ログインした際のログを記録するタイミング(処理するアクション)が変わりました。これはSNSなどのOAuthを利用したログインのログを記録するための対応となります。
最終更新 : 2022年07月20日 16:51
お勧め
add_shortcode(2018年5月27日 更新)
get_user_setting(2022年1月31日 更新)
have_posts(2018年5月27日 更新)
in_category(2018年5月27日 更新)
add_feed(2024年6月24日 更新)