Appearance
ADM-007 イベントマスタ管理画面
概要
wp_db_event_masterの一覧・登録・更新・削除、およびis_showの切替(フォーム POST と admin-ajax の両方)を行う管理画面。- WordPress 設定サブメニューとして登録。一覧は名称検索・ホール複数フィルタ・ソートに対応する。
外部インターフェース
管理画面 URL
| 項目 | 値 |
|---|---|
| URL | /wp-admin/options-general.php?page=event-master-admin |
| メニュー名 | イベントマスタ |
| 権限 | manage_options |
フォーム POST(同期)
POST options-general.php?page=event-master-admin。
event_master_action 値 | 処理 |
|---|---|
add | 新規登録 |
delete | 削除 |
update | 名称・ホール・is_show 更新 |
update_is_show | is_show のみ更新(フォーム) |
Nonce フィールド: event_master_nonce(検証アクション: event_master_admin)
主な POST パラメータ
| フィールド | 説明 |
|---|---|
event_master_id | update/delete/update_is_show 時の対象 ID |
event_master_name | イベント名 |
event_master_hall | ホール値(HallEnum に解釈可能な文字列) |
event_master_is_show | 表示フラグ(1 / 真偽値。未チェックは false) |
一覧・ソート用 GET パラメータ
| GET パラメータ | 説明 | デフォルト |
|---|---|---|
em_search | イベント名部分一致 | 空 |
em_hall / em_hall[] | ホールフィルタ(複数可。日別記事で利用可能なホールのみ有効) | 空 |
em_orderby | id / name / hall / created_at / updated_at | id |
em_order | asc / desc | asc |
em_edit | 編集中エントリ ID | 未指定 |
リダイレクト後クエリ(通知)
| クエリ | 内容 |
|---|---|
em_success | 1 成功、0 失敗 |
em_msg | 表示文言(URL エンコード) |
一覧 URL のエンコード
ソートリンク・編集リンクとリダイレクト先はいずれも build_list_page_url() が組み立てる。add_query_arg() は値をエンコードしないため、AdminQueryUrl が渡された生値を 1 回だけ URL エンコードする(ホールの複数選択は em_hall[] を値の数だけ繰り返し、通知の em_msg も同じ扱い)。生値のままだと & や # を含むイベント名で検索したときに条件や文言が途中で切れる。
既知の制約: 受け取り側の sanitize_text_field() は % + 16 進 2 桁を削除するため、A%2Bb のような検索語は往復で値が変わる。
admin-ajax(HTTP 契約)
すべて POST /wp-admin/admin-ajax.php、manage_options 権限+nonce 必須。
action 値 | 説明 |
|---|---|
event_master_update_is_show | 一覧上の is_show を AJAX で即時更新 |
AJAX 時は POST の event_master_nonce を event_master_admin で検証。event_master_is_show は '1' のときのみ true、それ以外は false。
エラー
| 条件 | ユーザー向け挙動 | メッセージ / ログ |
|---|---|---|
| nonce 不正 | リダイレクト or JSON エラー | Messages::AUTH_FAILED |
| ホール不正 | リダイレクト+エラー | Messages::REST_INVALID_HALL_MESSAGE |
| Service 層の検証失敗 | リダイレクト or JSON エラー | 登録サービスが返すメッセージ |