Skip to content

ADM-004 〇〇の日マスタ管理画面

概要

  • db_what_day_master テーブルの一覧表示・新規追加・編集・削除・is_show 一括切替を行う管理画面。
  • WordPress 設定サブメニュー(add_options_page)として登録。CRUD 操作はフォーム POST、is_show トグルとシードは admin-ajax 経由で処理する。
  • 「ざつねた」から〇〇の日データをシードする機能を持ち、AJAX ボタン 1 つで外部サービスから一括取得できる。
  • 一覧はキーワード・月・日でフィルタリング可能で、ページネーション(デフォルト 50 件)とソートに対応する。

外部インターフェース

管理画面 URL

項目
URL/wp-admin/options-general.php?page=what-day-master-admin
メニュー名〇〇の日マスタ
権限manage_options

フォーム POST(同期 CRUD)

すべて POST options-general.php?page=what-day-master-admin へ送信し、処理後にリダイレクトする。

what_day_master_action処理
add新規エントリ追加
update既存エントリ更新
delete指定 ID のエントリ削除
update_is_show指定 ID の is_show 更新(フォーム版)

Nonce フィールド: what_day_master_nonce(検証アクション: what_day_master_admin

主な POST パラメータ

フィールド操作型・制約説明
what_day_master_idupdate/delete正整数操作対象エントリ ID
what_day_master_nameadd/update文字列(max 255文字)名称(必須)
what_day_master_is_showadd/update/is_show"1" または未送信投稿での表示フラグ
what_day_master_mmddadd/update整数 101〜1231 または空月日(省略可)
what_day_master_yyyymmddadd/update整数 8桁 または空年月日(省略可)

admin-ajax(HTTP 契約)

すべて POST /wp-admin/admin-ajax.phpmanage_options 権限+nonce 必須。

action説明
what_day_master_update_is_show指定 ID の is_show を AJAX で切替
what_day_master_seed_from_zatsuneta「ざつねた」から一括シード

POST パラメータ・レスポンス data の契約は admin-ajax/endpoints/ 配下の ADM-004-1(is_show 切替) および ADM-004-2(ざつねたシード) を参照。

画面 ID

使用画面 ID: ADM-004ADM-一覧.md 参照)

データ

テーブル: db_what_day_master

カラム説明
idint PK自動採番
namevarchar(255)〇〇の日名称
is_showtinyint(1)投稿での表示フラグ(1=表示)
mmddint null月日(例: 101 = 1月1日)
yyyymmddint null年月日(例: 20260101 = 2026年1月1日)
created_atdatetime作成日時
updated_atdatetime更新日時

一覧フィルタ・ソート

GET パラメータ説明デフォルト
wdm_search名称部分一致空(全件)
wdm_month月フィルタ(1〜12、0=指定なし)0
wdm_day日フィルタ(1〜31、0=指定なし)0
wdm_orderbyソートキー(id/name/created_at/updated_at)id
wdm_orderソート方向(asc/desc)asc
wdm_pagedページ番号(1以上)1
wdm_per_page表示件数(20/50/100/200)50

エラー

条件ユーザー向け挙動メッセージ / ログ
nonce 不正リダイレクト+エラーメッセージ表示Messages::AUTH_FAILED
manage_options 権限なしwp_die() または JSON エラーMessages::PERMISSION_DENIED
名称が空リダイレクト+エラーメッセージ表示Messages::WHAT_DAY_MASTER_NAME_REQUIRED
名称が 255 文字超リダイレクト+エラーメッセージ表示Messages::WHAT_DAY_MASTER_NAME_MAX
mmdd が範囲外または不正日付リダイレクト+エラーメッセージ表示Messages::WHAT_DAY_MASTER_MMDD_INVALID
yyyymmdd が 8 桁外または不正日付リダイレクト+エラーメッセージ表示Messages::WHAT_DAY_MASTER_YYYYMMDD_INVALID
ID が 0 以下(update/delete)リダイレクト+エラーメッセージ表示Messages::REST_INVALID_ID_MESSAGE
追加時に重複エントリリダイレクト+エラーメッセージ表示Messages::WHAT_DAY_MASTER_ADD_DUPLICATE
シード実行時に \ThrowableJSON エラー返却error_log[WhatDayMasterAdminPage] 先頭)
月・日両方指定で不正日付(例: 2/31)日パラメータをクリアしてリダイレクトMessages::WHAT_DAY_MASTER_SEARCH_DATE_INVALID