この記事は最後に更新してから1年以上経過しています。

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

お勧め

wp_save_post_revision(2024年1月10日 更新)

int | WP_Error | void wp_save_post_revision( int $post_id )
現状の投稿のリビジョンを作成する。

get_the_author_posts_link(2019年8月21日 更新)

string get_the_author_posts_link( )
投稿者アーカイブページのリンクを取得する。

get_year_link(2012年2月2日 更新)

string get_year_link( mixed $year )
年アーカイブのURLを取得する。

register_taxonomy(2022年6月1日 更新)

WP_Taxonomy | WP_Error register_taxonomy( string $taxonomy, array | string $object_type, array | string $args = array() )
タクソノミーを登録する。

wp_add_object_terms(2013年8月6日 更新)

mixed wp_add_object_terms( int $object_id, mixed $terms, mixed $taxonomy )
投稿情報などにタクソノミーを追加する。