Skip to content

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_showis_show のみ更新(フォーム)

Nonce フィールド: event_master_nonce(検証アクション: event_master_admin)

主な POST パラメータ ​

フィールド説明
event_master_idupdate/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_orderbyid / name / hall / created_at / updated_atid
em_orderasc / descasc
em_edit編集中エントリ ID未指定

リダイレクト後クエリ(通知) ​

クエリ内容
em_success1 成功、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 エラー登録サービスが返すメッセージ