WP-ADMIN WIREFRAME — B-CNT-003 LIVEゼミ管理
🏠 LMS学習サイト | サイトを表示
🔔 3
👤
事務局担当者

LIVEゼミ管理

新規追加
✅ LIVEゼミ「認知症ケア実践ゼミ 2026年11月回」を公開しました。
 
38件中 1–20件 « / 2 »
ID ゼミタイトル 開催日時 講師 申込数 Zoom設定 ステータス
LS-001 認知症ケア実践ゼミ 2026年11月回 2026-11-12
19:00〜20:30
佐藤 和子 18 設定済み 開催前(受付中)
LS-002 感染症対策 最新ガイドライン解説ゼミ 2026-11-19
14:00〜15:30
田中 健一 24 設定済み 開催前(受付中)
LS-003 虐待防止・権利擁護 事例検討ゼミ 2026-11-26
18:30〜20:00
鈴木 美咲 20 設定済み 開催前(受付終了)
LS-004 介護技術 移乗介助 実践ゼミ 2026年12月回 2026-12-10
19:00〜20:30
山田 太郎 7 設定済み 開催前(受付中)
LS-005 チームリーダーのためのマネジメント実践ゼミ 2026-10-22
18:00〜19:30
高橋 直人 19 未設定 開催済
LS-006 コミュニケーション技法 傾聴実践ゼミ 2026-10-08
14:00〜15:30
伊藤 美紀 22 未設定 開催済
LS-007 食事介助・口腔ケア 実践ゼミ 2026年9月回 2026-09-17
19:00〜20:30
山田 太郎 3 未設定 中止
ID ゼミタイトル 開催日時 講師 申込数 Zoom設定 ステータス
38件中 1–20件 « / 2 »

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

1. WP実装方針

管理UI層はカスタム投稿タイプ lms_live_seminar として実装(正準データは lms_contentscontent_type='live' に同期)。WP_List_Table を継承したクラスで一覧画面を構築する。管理メニューは add_submenu_page() で「コンテンツ管理」親メニュー配下に「LIVEゼミ」を登録。カスタムカラム(ID・開催日時・講師・申込数・Zoom設定・ステータス)はカスタムカラム用フィルタで定義。開催日時カラムはソート対応(lms_contents.live_start_at)。申込状況は編集画面の申込状況メタボックスで確認する。

2. 権限制御

capabilitymanage_lms_content を使用(Web講義管理と共通)。事務局(管理者)ロールにのみ付与。メニュー表示条件: current_user_can('manage_lms_content')。ゼミの新規作成・編集・削除はすべて manage_lms_content 権限チェック必須。編集画面の申込状況メタボックス(閲覧・キャンセル処理)は同一権限で実施。将来的にZoom連携設定は別権限(manage_lms_zoom)として分離することを検討。

3. データ構造

管理UI層はカスタム投稿タイプ lms_live_seminar・正準データは lms_contentscontent_type='live'live_start_atlive_end_atregistration_deadline_atduration_secondsevent_status〔before/live/finished/cancelled〕)。Zoom連携情報(ミーティングID・参加URL・パスコード)は別テーブル lms_content_zoom_secrets に暗号化保存。申込データはカスタムテーブル lms_seminar_registrations(content_id / account_id / corp_id / site_id / status〔registered/cancelled〕/ registered_at / cancelled_at / note)で管理。申込数は COUNT() で都度集計またはキャッシュ。ステータス列は event_status と申込締切(registration_deadline_at)からの導出表示(開催前〔受付中/受付終了〕・開催中・開催済・中止)。Zoom設定列は lms_content_zoom_secrets の登録有無を表示する。

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

一括操作(Bulk Actions): 「公開」「下書きに戻す」「ゴミ箱へ移動」「ゴミ箱から復元」。開催前/開催中/開催済みの状態(event_status)は開催日時から自動算出するため、一括操作による受付状態の手動変更は行わない。完全削除はゴミ箱からのみ・特権保持者に限る。行アクション(Row Actions): 「編集」→ゼミ編集画面へ遷移(申込状況メタボックスを含む)、「表示」→会員向けゼミ詳細ページを表示、「ゴミ箱」→ゴミ箱ステータスへ変更。

5. Screen Options

表示列の選択: ID / ゼミタイトル / 開催日時 / 講師 / 申込数 / Zoom設定 / ステータス。デフォルトはすべて表示。ページあたり表示件数: デフォルト20件。set-screen-option フィルタで lms_seminars_per_page キーで保存。一覧はデフォルト開催日時の降順(直近開催が上位)。フィルタは開催月・カテゴリで絞り込み可能。Zoom設定状態(設定済み/未設定)は lms_content_zoom_secrets の登録有無で判定して表示。

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

ゼミ件数は年間40〜60件程度と想定。将来3年分累積で最大200件程度。WP_Query でページネーション処理(posts_per_page + paged)。申込数の集計は lms_seminar_registrations テーブルへの COUNT() クエリを使用し、一覧表示時の N+1 問題を避けるため content_id IN (...) でまとめて取得する。Zoom 連携情報は手動入力のみ(Zoom API との自動連携は行わない)。Nonce検証(check_admin_referer())を一括操作・個別操作すべてに適用。Zoom URLは esc_url() でサニタイズ、ミーティングIDは数値バリデーション(absint())を適用。