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

LIVEゼミを編集

新規追加 ← 一覧に戻る
ℹ️ LIVEゼミを編集しています。開催情報(日時・Zoom)を変更した場合は参加者への通知を忘れずに行ってください。

📝 基本情報

ゼミタイトル*

会員サイトおよび管理画面で表示されるLIVEゼミ名

ゼミID

自動採番。変更不可

ゼミ概要*

会員サイトのLIVEゼミ詳細ページに表示される概要文(500文字以内)

講師*

B-CNT-004(講師管理)で登録済みの講師から選択

対象階層
対象サービス種
表示順

数値が小さいほど上位に表示(デフォルト: 10)

📅 開催情報(日時・Zoom)

開催日時*

会員サイトに表示される開催日時。変更時は参加者への通知が必要

申込締切日

締切日以降は会員サイトで申込ボタンを非表示にする。空欄の場合は開催日前日まで受付

Zoom ミーティングURL*

参加者の「マイページ」に表示されるZoom参加リンク。開催24時間前まで非公開も可

Zoom ミーティングID*

11桁のZoom ミーティングID。URLから自動抽出も可(「URLから取得」ボタン)

Zoom パスコード

パスワード付きミーティングの場合に入力。空欄の場合はパスコード不要として表示

Zoom情報の公開設定

参加者の「マイページ > LIVEゼミ」にZoom URLが表示されるタイミング

アーカイブ動画

開催後にアーカイブ動画を登録すると、参加者はマイページから視聴可能。Vimeo URLを入力

👥 参加者管理

34
申込者数
氏名 法人名 事業所名 申込日時 申込メモ 申込ステータス 操作
山田 太郎 社会福祉法人◯◯会 ◯◯デイサービス 2026-10-15 10:23 3名参加予定(山田・佐藤・田中) 申込済
鈴木 花子 医療法人△△ △△グループホーム 2026-10-16 14:05 申込済
田中 一郎 社会福祉法人□□福祉会 □□訪問介護事業所 2026-10-18 09:47 新任職員2名が参加します 申込済
佐藤 美奈 特定非営利活動法人◆◆ ◆◆障害者支援施設 2026-10-20 16:32 申込済
高橋 二朗 社会福祉法人◯◯会 ◯◯特別養護老人ホーム 2026-10-21 11:18 キャンセル済
渡辺 幸子 医療法人◇◇ ◇◇訪問看護ステーション 2026-10-22 09:05 申込済
中村 健二 社会福祉法人▲▲福祉会 ▲▲通所リハビリ 2026-10-23 15:44 申込済

表示: 7件 / 34件(残り27件は「すべて表示」で確認) 

一括操作:

📤 公開

ステータス: 公開済み
公開状態: 公開
公開日: 2026-10-01 09:00
最終更新: 2026-10-25 13:15

📊 開催ステータス

ステータスを変更すると会員サイトの表示が即時反映されます

📁 カテゴリ

📈 開催統計

申込者数 34名
キャンセル数 1名
参加法人数 12社

統計データは読み取り専用。詳細はB-HST-001(受講履歴確認)を参照

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

1. WP実装方針

カスタム投稿タイプ lms_live_seminar の編集画面。register_post_type()'supports' => ['title'] のみ有効化し、全フィールドをカスタムメタボックス(add_meta_box())で構成する。メタボックスは「基本情報」「開催情報」「参加者管理」を 'normal'(メインカラム)、「公開」「開催ステータス」「カテゴリ」「開催統計」を 'side'(サイドカラム)に配置。保存処理は save_post_lms_live_seminar フックで実装。Zoom URLからのミーティングID自動抽出は正規表現 /zoom\.us\/j\/(\d+)/ で処理。参加者管理はカスタムテーブルのデータを参照・更新するAJAX処理(管理画面内のみ)で実装。

2. 権限制御

編集画面アクセス: manage_lms_content 権限チェック。参加者一覧の閲覧・キャンセル処理は同権限で許可。参加者への一斉メール送信は manage_lms_members 権限も必要。ゴミ箱移動は manage_lms_content、完全削除は管理者(manage_options)のみ。開催統計は全権限者に読み取り専用で表示。

3. データ構造

投稿テーブル: 管理UI層はカスタム投稿タイプ lms_live_seminar(正準データは lms_contentscontent_type='live' に同期。開催情報は live_start_atlive_end_atregistration_deadline_atevent_status カラム)。Zoom連携情報(ミーティングID・参加URL・パスコード)は別テーブル lms_content_zoom_secrets に暗号化保存(AES-256-GCM)。申込データはカスタムテーブル lms_seminar_registrations(registration_id / content_id / account_id / corp_id / site_id / status〔registered/cancelled〕/ registered_at / cancelled_at / note)に格納。申込時の任意メモは lms_seminar_registrations.note(自由記述)に保存し、参加者一覧の「申込メモ」列に表示する。

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

参加者管理メタボックス内の一括操作で「キャンセル処理」を実装。処理はAJAX(wp_ajax_lms_update_participant)で非同期実行し、Nonce検証後に lms_seminar_registrations テーブルを更新。参加者個別の「キャンセル」は確認ダイアログを表示後に処理。キャンセル時はSendGridで参加者へキャンセル確認メールを自動送信。申込状況メタボックスから申込の手動追加(受講主体アカウントを指定して代理登録・重複申込はUNIQUE制約で防止)と、申込者への一斉メール送信(SendGrid・申込済みのみ宛先・手動送信のみ)が可能。Excel出力は設けない。

5. Screen Options

編集画面のメタボックス表示/非表示はWP標準の Screen Options で制御。「開催統計」メタボックスは開催終了後のゼミでのみデフォルト表示(ステータス判定で切替)。メタボックスの折りたたみ状態はユーザーメタ closedpostboxes_live_seminar に保存される。「参加者管理」メタボックスはデフォルト展開状態を維持し、折りたたみを無効化することも検討。ページあたり表示件数は参加者テーブル部分のみ対応し、デフォルト20件。

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

全フォーム送信時に wp_nonce_field('lms_save_live_seminar', 'lms_live_seminar_nonce') でNonce検証。Zoom URL・パスコードは esc_url() / sanitize_text_field() でサニタイズ。参加者管理のAJAX処理には個別Nonce(wp_create_nonce('lms_participant_action'))を設定。参加者テーブルへのアクセスは $wpdb->prepare() でSQLインジェクション対策を徹底。参加者統計はトランジェントAPI(set_transient('lms_seminar_stats_' . $post_id, $stats, HOUR_IN_SECONDS))でキャッシュし、参加者の申込・キャンセル時にキャッシュを削除(delete_transient())。Zoom URL・パスコードは機密情報として扱い、REST APIエンドポイントでは権限チェック後に限定公開。