WP-ADMIN WIREFRAME — B-CNT-001 Web講義管理(編集)
🏠 LMS学習サイト | サイトを表示
🔔 3
👤
事務局担当者

Web講義を編集

新規追加 ← 一覧に戻る
ℹ️ 講義を編集しています。変更後は「更新」ボタンをクリックしてください。

📝 基本情報

講義タイトル*

会員サイトおよび管理画面で表示される講義名

講義ID

自動採番。変更不可

講義概要*

講義一覧・詳細ページに表示される概要文(500文字以内)

講師*

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

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

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

🎥 Vimeo動画設定

Vimeo動画URL*

Vimeoの動画URLを入力。動画IDは自動抽出されます

Vimeo動画ID

URLから自動抽出。手動編集不可

動画時間(分)*

動画の再生時間(分単位)。Vimeo APIから自動取得も可

動画プレビュー
🎬
Vimeo Player プレビュー
(実装時にVimeo Player APIで埋め込み表示)

📎 資料・字幕ファイル

配布資料
📄 認知症ケア基礎_テキスト.pdf (2.3MB / 2026-10-01 アップロード)
削除
📄 認知症ケア基礎_ワークシート.pdf (1.1MB / 2026-10-01 アップロード)
削除
📁 ファイルをドラッグ&ドロップ、または

PDF/PPTX/DOCX形式。複数ファイルアップロード可。受講者がダウンロード可能

字幕ファイル
📃 認知症ケア基礎_字幕.vtt (48KB / 2026-10-01 アップロード)
削除
📁 字幕ファイルをアップロード

WebVTT(.vtt)形式。Vimeo Playerで字幕表示に使用

サムネイル画像
🖼️

推奨サイズ: 640×360px(16:9)

📤 公開

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

📁 カテゴリ

🏷️ タグ

認知症 × 基礎研修 × ケア技法 ×

カンマ区切りで複数入力可

📚 所属グループ

B-CNT-002(Web講義グループ管理)で作成済みのグループから選択

📊 受講統計

総視聴回数 1,284回
ユニーク視聴者 856人
完了率 72.4%
「受講しました!」数 623件
受講証明書発行数 498件

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

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

1. WP実装方針

カスタム投稿タイプ web_lecture の編集画面。register_post_type()'show_ui' => true にしつつ、デフォルトのエディタを無効化('supports' => ['title'])し、全フィールドをカスタムメタボックスで構成。メタボックスは add_meta_box() で登録し、'normal'(メインカラム)と 'side'(サイドカラム)に配置。保存処理は save_post_web_lecture フックで実装。Vimeo動画IDはURLから正規表現で自動抽出: /vimeo\.com\/(\d+)/。ファイルアップロードはWPメディアライブラリ連携(wp_enqueue_media())。

2. 権限制御

編集画面アクセス: manage_lms_content 権限チェック。新規作成・編集・削除それぞれで current_user_can() を検証。ゴミ箱移動は manage_lms_content 必須、完全削除は管理者(manage_options)のみ。受講統計メタボックスは読み取り専用で全権限者に表示。メディアライブラリへのアクセスは upload_files 権限を付与済みの前提。

3. データ構造

投稿テーブル: wp_posts(post_type = 'web_lecture')。メタデータ: wp_postmeta に各カスタムフィールドを保存。キー名は _lms_ プレフィックス(例: _lms_vimeo_video_id_lms_lecture_duration_lms_instructor_id_lms_subtitle_file_lms_material_files(シリアライズ配列)、_lms_target_level_lms_target_service_lms_sort_order)。受講統計はリアルタイム集計ではなくキャッシュテーブル lms_lecture_stats から読み込み(TTL: 1時間)。講師リレーションは _lms_instructor_id でカスタム投稿タイプ instructor のIDを参照。

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

編集画面では行アクション不要(一覧画面で定義済み)。「← 一覧に戻る」リンクで一覧画面へ遷移。「新規追加」で新規編集画面を開く。保存後のリダイレクト先は wp_redirect(admin_url('admin.php?page=lms-web-lectures&action=edit&id=' . $post_id . '&message=1'))。メッセージパラメータで成功通知を表示。「ゴミ箱へ移動」は確認ダイアログ表示後に実行(WP標準のJS確認)。

5. Screen Options

編集画面のメタボックス表示/非表示はWP標準の Screen Options で制御。add_meta_box() で登録した各メタボックスが Screen Options パネルに自動反映。メタボックスの折りたたみ状態はユーザーメタ closedpostboxes_web_lecture に保存。メタボックスのドラッグ&ドロップ並べ替えはWP標準機能を利用(postbox.js)。

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

全フォーム送信時に wp_nonce_field('lms_save_web_lecture', 'lms_web_lecture_nonce') でNonce検証。Vimeo URLは esc_url() でサニタイズ、動画IDは absint() で数値のみ許可。テキストフィールドは sanitize_text_field()、テキストエリアは wp_kses_post() でサニタイズ。ファイルアップロードはMIMEタイプチェック(PDF/PPTX/DOCX/VTT)。字幕ファイルは .vtt 拡張子のみ許可(upload_mimes フィルタで追加)。シリアライズ配列(資料ファイル)は maybe_serialize() / maybe_unserialize() で安全に処理。受講統計のキャッシュは wp_cache_set() / wp_cache_get() またはトランジェントAPI(set_transient())で管理。大量メタデータの読み込みはオートロード無効('autoload' => 'no')で対応。