WP-ADMIN WIREFRAME — B-MBR-001 会員情報管理
🏠 LMS学習サイト | サイトを表示
🔔 3
👤
事務局担当者

全アカウント一覧

新規追加
ℹ️ 表示対象: 法人管理者・事業所管理者・事業所アカウント・個人アカウント(お試しを含む)の全アカウント。アカウント種別フィルタで絞り込めます。
📊 会員情報ダウンロード(B-MBR-002):
 
1,248件中 1–20件 « / 63 »
法人名 氏名 / アカウント名 登録状況 登録日
社会福祉法人あおぞら会 山田 太郎 yamada.taro@aozora-kai.jp 登録済み・有効 2026-04-01
社会福祉法人あおぞら会 鈴木 花子 suzuki.hanako@aozora-kai.jp 登録済み・有効 2026-04-01
医療法人大樹会 田中 一郎 tanaka.ichiro@taijukai.or.jp 登録済み・有効 2026-04-05
特定非営利活動法人ひかり 佐藤 美智子 sato.michiko@hikari-npo.jp お試し 2026-05-20
社会福祉法人白寿会 白寿デイサービス東館 higashi@hakujukai.jp 登録済み・有効 2026-04-10
医療法人大樹会 高橋 直人 takahashi.n@taijukai.or.jp 未登録 2026-06-01
社会福祉法人あおぞら会 伊藤 美紀 ito.miki@aozora-kai.jp 停止中 2026-04-08
特定非営利活動法人ひかり 中村 和子 nakamura.k@hikari-npo.jp 登録済み・有効 2026-05-22
アカウント種別 法人名 氏名 / アカウント名 メールアドレス 登録状況 登録日
1,248件中 1–20件 « / 63 »

📋 実装注記(開発者向け)

1. WP実装方針

カスタムDBテーブル lms_accounts を直接クエリする LMS_Account_List_Table クラス(WP_List_Table 継承)で一覧を構築する。管理メニューは add_submenu_page() で「会員管理」親メニュー下に「全アカウント一覧」として登録。メニュースラッグ: lms-accounts。アカウント種別(法人管理者/事業所管理者/事業所/個人)はカラムフィルタとステータスビューで切替。B-MBR-002のEXCELダウンロードは同画面上部の専用ボタンから実行(全件・絞り込み結果の2種)。B-MBR-004の登録状況統計は wp-subsubsub ビューでカウント表示。

2. 権限制御

capability: manage_lms_members を新規定義し、事務局(管理者)ロールに付与。一般の editor / author ロールはアクセス不可。メニュー表示条件: current_user_can('manage_lms_members')。CRUD・停止・削除・EXCELダウンロードはすべて同権限チェック必須。将来的に「会員担当」ロール(参照のみ)追加の場合は別 capabilityview_lms_members)を定義し、EXCELダウンロードとアカウント削除は管理者限定とする権限分離を検討。

3. データ構造

主テーブル: lms_accounts(カラム: id, account_type[corp_admin/office_admin/office/personal], corp_id, site_id, display_name, email, status[active/trial/unregistered/suspended/expired], registered_at, last_login_at)。法人情報は lms_corporations テーブルと corp_id で結合(JOIN)。事業所情報は lms_sitessite_id で結合。WordPressユーザーとの紐付けは wp_user_id カラムで管理(未登録の場合は NULL)。登録状況フィルタは status カラムで集計。

4. 一括操作・行アクション

一括操作(Bulk Actions): 「有効にする」(status=active へ変更)、「停止する」(status=suspended)、「削除」(完全削除・要確認ダイアログ)。行アクション(Row Actions): 「編集」→アカウント編集画面(B-MBR-001編集)へ遷移、「受講履歴」→B-HST-001(受講履歴)に当該アカウントフィルタ付きで遷移、「ログイン確認」→最終ログイン日時・IPアドレスをインラインで展開、「招待メール再送」→未登録アカウントのみ表示(SendGrid経由)、「有効にする」→停止中アカウントのみ表示、「削除」→確認後に完全削除。

5. Screen Options

表示列の選択: アカウント種別 / 法人名 / 氏名・アカウント名 / メールアドレス / 登録状況 / 登録日 / 最終ログイン日。デフォルトは全列表示(最終ログイン日は非表示)。ページあたり表示件数: デフォルト20件。set-screen-option フィルタで lms_accounts_per_page キーとして保存。フィルタ(アカウント種別・法人・登録状況・登録日)の選択状態は URL パラメータ(account_type, corp_id, status, m)で保持し、EXCELダウンロードにも反映する。

6. パフォーマンス・セキュリティ

アカウント総数は初期500社×平均50アカウント=約25,000件、最大200,000件を想定。lms_accounts テーブルに status, account_type, corp_id, registered_at の複合インデックスを設定し、絞り込み検索を高速化。一覧取得は $wpdb->get_results($wpdb->prepare(...)) でページネーション(LIMIT + OFFSET)。20万件規模ではOFFSETが遅くなるため、キーセットページネーション(WHERE id > last_seen_id)への切替を将来設計で検討。EXCELダウンロード(全件)は最大200,000行になるため、非同期バックグラウンド処理(WP_Background_Processing 等)+完了通知メール方式を推奨。絞り込み結果ダウンロードは件数上限(例: 10,000件)を設け、超過時は警告表示。CRUD・一括操作・削除はすべて wp_nonce_field() / check_admin_referer() でNonce検証必須。SQL直接操作は $wpdb->prepare() でSQLインジェクション対策。メールアドレス・氏名は sanitize_email() / sanitize_text_field() でサニタイズ。