Appearance
ADM-025 会員管理画面
| 項目 | 内容 |
|---|---|
| Issue | #2917(閲覧MVP)、#2923(確認メール再送)、#2925(送信成否の返却) |
| 最終更新 | 2026-07-25 |
概要
role = memberの WordPress ユーザーを一覧・詳細で閲覧する専用管理画面。- 手動退会・購入付与/取消は本画面のスコープ外。
- 会員詳細からのみ、未確認・在籍会員へ確認メール再送が可能(確認ダイアログ付き)。
- サイト運営ダッシュボード配下のサブメニューとして登録。
外部インターフェース
管理画面 URL
| 項目 | 値 |
|---|---|
| URL | /wp-admin/admin.php?page=member-admin |
| メニュー名 | 会員管理 |
| 権限 | manage_options |
| 親メニュー | サイト運営ダッシュボード(site-ops-dashboard) |
GET パラメータ
| パラメータ | 説明 |
|---|---|
ma_search | メール・表示名・ログイン名の部分一致検索 |
ma_status | all(既定)/ active(在籍)/ withdrawn(退会済み) |
ma_paged | ページ番号(1 始まり) |
ma_per_page | 表示件数(20 / 50 / 100) |
ma_user_id | 詳細表示対象のユーザー ID(指定時は詳細ビュー) |
フォーム POST(確認メール再送)
POST admin.php?page=member-admin(詳細表示中の ma_user_id を維持してリダイレクト)。
ma_action 値 | 処理 |
|---|---|
resend_email | 対象会員へ確認メール再送(MemberEmailVerificationService::issue_and_send。成否 bool を返却) |
| フィールド | 説明 |
|---|---|
ma_nonce | nonce(アクション: member_admin) |
ma_user_id | 対象ユーザー ID |
ma_action | resend_email |
確認ダイアログ: data-confirm-message(例: 「この会員に確認メールを再送します。よろしいですか?」)
issue_and_send が false(wp_mail 失敗等)のときはエラー通知。トークンは差し替え済みのまま残し、ロールバックしない。
リダイレクト後クエリ(通知)
| クエリ | 内容 |
|---|---|
ma_success | 1 / 0 |
ma_msg | メッセージ(URL エンコード) |
画面
一覧
| 列 | 内容 |
|---|---|
| ID | wp_users.ID |
| 表示名 | display_name |
| メール | user_email |
| ロール | WP_User::roles(表示名。複数時はカンマ区切り。未設定時は —) |
| メール確認 | member_email_verified が 1 なら確認済 |
| 退会 | member_withdrawn_at の有無 |
| 登録日 | user_registered |
| 操作 | 詳細リンク |
詳細
- 基本: ID、ログイン名、表示名、メール、ロール、登録日
- メタ: メール確認、規約同意版・同意日時、退会日時
- 購入履歴:
db_paid_article_purchase(記事タイトル・金額・購入日時・外部取引 ID)。読み取りのみ - 確認メール再送: 未確認かつ在籍のときのみボタン表示。確認ダイアログ後に POST
データ
- アカウント:
wp_users/wp_usermeta(role=memberのみ) - 購入:
db_paid_article_purchase(user_id論理参照)
エラー
| 条件 | ユーザー向け挙動 |
|---|---|
| 権限不足 | Messages::PERMISSION_DENIED で wp_die |
| 詳細で非 member / 不存在 | 一覧へ誘導し「会員が見つかりません」表示 |
| 再送: 確認済み / 退会済 / 非会員 | リダイレクト+エラー通知 |
再送: wp_mail 失敗 | リダイレクト+送信失敗のエラー通知 |
| nonce 不正 | リダイレクト+Messages::AUTH_FAILED |