WP-ADMIN WIREFRAME — B-CNT-004 講師管理(編集)
🏠 LMS学習サイト | サイトを表示
🔔 3
👤
事務局担当者
ℹ️ 講師プロフィールを編集しています。変更後は「更新」ボタンをクリックしてください。

👤 基本プロフィール

氏名(漢字)*

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

氏名(ふりがな)*

ひらがなで入力。一覧画面での検索・ソートに使用

講師ID

自動採番。変更不可

表示名(略称)

講義一覧等で使用する短縮表示名。通常は氏名と同じで問題なし

所属・役職

会員サイトの講師紹介ページに表示

メールアドレス

外部公開なし。事務局連絡用(任意)

表示順

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

🎓 資格・専門分野

保有資格
認知症ケア専門士 × 介護福祉士 × 認定介護福祉士 ×

会員サイトの講師プロフィールに表示。カンマ区切りで複数入力可

専門分野

講師紹介ページおよび検索・絞り込みで使用

対応講義カテゴリ

B-CNT-005(カテゴリ・タグ管理)で管理するカテゴリから選択。講師検索の絞り込み条件に使用

📝 経歴・プロフィール文

プロフィール文*

会員サイトの講師紹介ページに表示(800文字以内推奨)

主な経歴

任意。講師紹介ページの補足情報として使用

メッセージ(受講者向け)

講義視聴前の講師挨拶として表示(任意)

📚 担当講義紐付け

この講師が担当している Web講義・LIVEゼミの一覧。各講義の編集画面(B-CNT-001 / B-CNT-003)で講師を変更できます。

担当講義は各講義編集画面の「講師」フィールドから変更します。この一覧は参照専用です。

📤 公開

ステータス: 公開済み
公開状態: 公開
登録日: 2026-04-01
最終更新: 2026-11-20 10:15

🖼️ 顔写真

👤

推奨: 400×400px 以上
正方形(1:1)
JPG / PNG

会員サイトの講師紹介ページおよび講義詳細ページに表示

📊 担当講義統計

担当Web講義数 4本
担当LIVEゼミ数 1件
総受講者数 1,566人
総視聴回数 2,341回
平均完了率 74.2%

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

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

1. WP実装方針

カスタム投稿タイプ instructor の編集画面。register_post_type()'show_ui' => true、デフォルトエディタは無効化('supports' => ['title'])し、全フィールドをカスタムメタボックスで構成。メタボックスは add_meta_box() で登録し、基本プロフィール・資格・経歴の3ボックスを 'normal'、担当講義紐付けを 'normal'、公開ボックス・顔写真・統計を 'side' に配置。保存は save_post_instructor フックで一括処理。顔写真はWPメディアライブラリ連携(wp_enqueue_media())。担当講義一覧は WP_Query(post_type: web_lecture / live_seminar、meta_query: _lms_instructor_id 一致)で動的取得。

2. 権限制御

編集画面アクセス: manage_lms_content 権限を current_user_can() で検証。新規作成・編集・公開状態の変更は同権限で許可。ゴミ箱移動は manage_lms_content 必須、完全削除は管理者(manage_options)のみ。担当講義一覧は参照専用のため書き込み権限は不要。統計メタボックスは全権限者に読み取り専用で表示。顔写真アップロードは upload_files 権限を前提。

3. データ構造

投稿テーブル: wp_posts(post_type = 'instructor'、post_title = 氏名)。メタデータ: wp_postmeta_lms_ プレフィックスで保存。主要キー: _lms_instructor_id(自動採番 INS-xxx)、_lms_instructor_kana(ふりがな)、_lms_instructor_display_name_lms_position_lms_email_lms_qualifications(シリアライズ配列)、_lms_specialty_lms_category_ids(配列)、_lms_profile_lms_career_lms_message_lms_photo_id(メディアID)、_lms_sort_order。担当講義は逆引き参照(各講義の _lms_instructor_id から検索)。統計はキャッシュテーブル lms_instructor_stats から集計(TTL: 1時間)。

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

編集画面個別の行アクションは不要(一覧画面 B-CNT-004 一覧で定義)。「← 一覧に戻る」リンクで一覧に戻る。「更新」後のリダイレクト先: admin.php?page=lms-instructors&action=edit&id={id}&message=1。「ゴミ箱へ移動」はJS確認ダイアログ後に実行。担当講義一覧の「編集」リンクは各講義の編集画面(admin.php?page=lms-web-lectures&action=edit 等)へ遷移。資格タグの追加・削除はJSでDOM操作後、hidden inputにシリアライズして送信。

5. Screen Options

編集画面のメタボックス表示/非表示はWP標準の Screen Options で制御。add_meta_box() で登録した各ボックスが Screen Options パネルに自動反映。折りたたみ状態はユーザーメタ closedpostboxes_instructor に保存。メタボックスの並べ替えはWP標準の postbox.js を利用。担当講義統計メタボックスは折りたたみ可だが Screen Options での非表示は推奨しない(必要情報のため)。表示件数のオプションは不要(担当講義一覧は全件表示)。

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

全フォーム送信時に wp_nonce_field('lms_save_instructor', 'lms_instructor_nonce') でNonce検証必須。テキスト系フィールドは sanitize_text_field()、プロフィール文・経歴は wp_kses_post()(改行タグのみ許可)でサニタイズ。メールアドレスは sanitize_email()。資格・カテゴリIDはシリアライズ前に各要素を sanitize_text_field() / absint() で検証。顔写真IDは absint() で数値のみ許可し、attachment_url_to_postid() で実在確認。担当講義一覧の取得は WP_Query を使用(直接SQLは不可)。統計はトランジェントAPI(set_transient('lms_instructor_stats_{id}', ..., HOUR_IN_SECONDS))でキャッシュし、更新時に delete_transient() でキャッシュクリア。autoloadは 'no' を指定し、不要なメタデータのメモリ消費を抑制。