Login rebuilder 2.8.0の変更内容を紹介

説明

先々週のアップデート」では、ダッシュボードの「ログインのログ」ウィジェット内に現在のユーザー(管理者のみ)のログイン状況を簡潔なメッセージで表示しましたが、一週間ほど使ってみると、もう少し詳しい情報が欲しくなりました。そんなわけで、ログイン中のユーザー情報を表示する新しいウィジェットを用意しました。

ログイン中のユーザー情報

前バージョン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分間隔で内容を更新するようになっており、基本的になページ更新不要です(再ログイン後はページ更新が必要)。

複数の場所でログイン

この状態で別のブラウザを起動し、同じ管理者のアカウントでログイン。「ログイン中のユーザー」ウィジェットは次のように変わります。

「ログイン中のユーザー」ウィジェットでは2箇所以上でログインしているユーザーを赤字で表示

赤字のメッセージに変わり、ユーザーリストの対象ユーザーも赤字で表示されます。このようにすることで、複数の場所でのログインを検知しやすくなるのではないでしょうか。

管理者以外の「ログイン中のユーザー」ウィジェット

「ログイン中のユーザー」ウィジェットは、管理者の場合は自動で表示されますが、そのほかのユーザーに表示させる場合は設定ページで「すべてのユーザーに「ログイン中のユーザー」ウィジェットを表示する。」をチェックしてください。

「設定」「ログインページ」のページ下に「ログイン中のユーザー」ウィジェットを表示する。」をチェック

なお管理者以外の場合、ユーザーリストの内容は本人のアカウントのみとなります。

そのほかの変更点

「ログイン中のユーザー」ウィジェットの登場にあわせて「ログインのログ」ウィジェットの内容でもOSとブラウザを簡易表示するようになります(新しいログのみ)。また、「ログインのログ」ウィジェットの内容も1分間隔で更新されます。

最後に内部的な仕様の変更になりますが、ログインした際のログを記録するタイミング(処理するアクション)が変わりました。これはSNSなどのOAuthを利用したログインのログを記録するための対応となります。


最終更新 : 2022年07月20日 16:51

お勧め

is_admin(2011年6月23日 更新)

bool is_admin( )
リクエストページが管理者ページ(/wp-admin/以下すべて)か調べる。

get_term_by(2020年8月28日 更新)

mixed get_term_by( string $field , mixed $value , string $taxonomy [ , string $output = OBJECT [ , string $filter = 'raw' ] ] )
ID、名前、スラッグを指定してカテゴリー・タグ情報を取得する。

remove_shortcode(2018年5月27日 更新)

void remove_shortcode( string $tag )
ショートコードを削除する。

wp_get_original_image_url(2019年11月19日 更新)

string | false wp_get_original_image_url( int $attachment_id )
オリジナルの画像ファイルのURLを取得する。

get_html_split_regex(2018年5月27日 更新)

string get_html_split_regex( )
HTML要素分割用の正規表現パターンを取得する。