# page-*.php inventory & Phase-3 conversion map Classification of the legacy page templates (2026-06-16) for the FSE flip (Phase 3). Companion: [[upgrade-plan]]. Diff metric = changed lines vs plain `page.php`. ## Title-droppers (collapsible now) — DONE - `page-cv.php`, `page-shop.php` — were byte-identical to `page.php` minus the title. Collapsed into the selectable **`page-no-title.php`** ("No Title"); CV+shop reassigned via `_wp_page_template`; both files deleted. **No other pure title-droppers exist.** ## Custom — all Phase-3 (pattern / block template / keep-dynamic) | File | Lines | What makes it custom | FSE target | |---|---|---|---| | `page-bio.php` | 21 | date stamp, hardcoded italic "Bio" title, `#about`, row/col, home footer | pattern | | `page-analytics.php` | 31 | Matomo iframe + `dw_wik_places()`/`dw_wik_url()` | keep-dynamic / custom block | | `page-archive.php` | 44 | "Posts" tmpl; `get_posts()` + `pull_til_all()` (posts/TIL/bookmarks) | Query Loop + TIL block | | `page-contact.php` | 57 | Gravity Forms + Stripe enqueue | pattern + GF block | | `page-art.php` | 76 | art gallery markup + JS | pattern | | `page-desk.php` | 115 | backbone `loop.js` infinite scroll | Query Loop block | | `page-now.php` | 129 | "Now" page custom sections | pattern | | `page-chat.php` | 135 | **self-contained** (no `get_header/footer`), Twilio chat | special — like front-page (keep bespoke / audit) | | `page-sitemap.php` | 163 | generated sitemap lists | custom block / Query | | `page-about.php` | 174 | **FullCalendar**, carousel, home header+footer | pattern + calendar block | | `page-music.php` | 246 | last.fm integration | pattern/block | | `page-studio.php` | 284 | carousel + tabs + DrawFillSVG + backstretch, studio header | pattern (the big one) | ## Cross-cutting Phase-3 notes - **Footer split:** `get_footer('home')` → about, archive, bio, contact, desk, sitemap, studio. Default `get_footer()` → analytics, art, music, now. (chat uses neither.) In FSE this becomes a **template-part choice**, not per-file. - **Header variants:** default (most), `'home'` (about), `'studio'` (studio), **none** (chat is self-contained like `front-page.php`). - **Already selectable (have `Template Name`):** about→Home, archive→Posts, desk→Desk, music→Music, now→Now, sitemap→Sitemap, + our no-title→No Title. The rest (analytics, art, bio, chat, contact, studio) are **slug-based** (`page-{slug}.php` auto-applies). - **Bespoke/self-contained:** `front-page.php` (homepage) and `page-chat.php` both bypass the header/footer system — decide in Phase 3 whether they stay bespoke PHP or become block templates.