Appearance
ADM-3 ビルド管理画面
画面 ID ADM-3(ADM-一覧.md)。
概要
- テーマ配下(MVC ルートの親ディレクトリ)に展開された
core_YYYYMMDD_HHMMSSビルドディレクトリを一覧表示し、管理者が複数選択して削除できるメンテナンス用ツール画面。 - WordPress の ツール メニュー配下(
add_management_page)に登録。操作は 同一 URL への POST フォーム(リダイレクト+クエリで結果表示)。admin-ajax は使用しない。 - 現在
connector.phpのVERSION定数が指すタイムスタンプ版に該当するディレクトリは 稼働中として扱い、チェックボックス無効・削除対象外。 - 削除処理では
set_time_limit(300)を試行し、ディレクトリを再帰削除する(シンボリックリンクはunlink)。
外部インターフェース
管理画面 URL
| 項目 | 値 |
|---|---|
| URL | /wp-admin/tools.php?page=build-manager-admin |
page slug | build-manager-admin(BuildManagerAdminPage::PAGE_SLUG) |
| メニュー名(ツール配下) | ビルド管理 |
| 権限 | manage_options |
POST(削除)
load-{hook} 上の maybe_process_form() が POST のみ処理。成功・失敗とも wp_safe_redirect で同一画面に戻し、クエリで通知する。
| フィールド名 | 内容 |
|---|---|
build_manager_nonce | nonce フィールド。アクション名 build_manager_admin(NONCE_ACTION) |
build_manager_action | 削除時は delete_selected(ACTION_DELETE_SELECTED) |
build_versions[] | 削除対象のタイムスタンプ文字列(^[0-9]{8}_[0-9]{6}$)。複数可 |
リダイレクト後クエリ(通知)
| クエリ | 内容 |
|---|---|
bm_success | 1 成功系、0 失敗系(QUERY_SUCCESS) |
bm_msg | 表示文言(QUERY_MSG。esc_html して管理通知として出力) |
稼働中ビルドの判定
- 定数
VERSIONが未定義の場合は「稼働中」なし。 - 定義されている場合、値が正規表現
/_([0-9]{8}_[0-9]{6})$/にマッチすれば、キャプチャ群(タイムスタンプ部分)が稼働中バージョン。core_{timestamp}ディレクトリと一致する行はis_activeとなり削除不可。
エラー
| 条件 | ユーザー向け挙動 | メッセージ / ログ |
|---|---|---|
画面表示時に manage_options なし | wp_die | Messages::PERMISSION_DENIED |
POST 時に manage_options なし | リダイレクトでエラー通知 | Messages::PERMISSION_DENIED |
| nonce 不正 | 同上 | Messages::AUTH_FAILED |
| 削除対象未選択(空配列) | 同上 | BuildManagerMessages::NO_SELECTION |
| バージョン配列が正規表現に合致しないもののみ等で実質空 | 同上 | BuildManagerMessages::INVALID_VERSION |
| 稼働中を含む・存在しないパス等で 1 件も削除できなかった | 同上 | BuildManagerMessages::DELETE_FAILED |
| 一部削除成功・一部失敗(稼働中スキップ・削除失敗など) | 成功通知(文言に一部失敗を含む) | BuildManagerMessages::BULK_DELETE_PARTIAL_SUCCESS_FORMAT |
| 全件削除成功 | 成功通知 | BuildManagerMessages::BULK_DELETE_SUCCESS_FORMAT |
フロントでは送信時にチェックが 0 件なら alert(msgNoSelection) で中断。件数確認ダイアログは msgConfirmFormat の %d を選択件数で置換。
変更履歴(設計書)
| 日付(JST) | 変更内容 | コード側の対応(PR 等) |
|---|---|---|
| 2026-04-21 | 初版作成 | Issue #1762 |
| 2026-04-21 | 見出しの画面 ID を ADM-3 に修正(旧 ADM-2 / ADM-UI-003 表記を廃止)。画面一覧リンクを相対パス化 | — |
| 2026-04-25 | ビルド管理向けメッセージ定数を BuildManagerMessages に集約した旨をエラー表に反映 | Issue #1854 |