page-templates.md 2.6 KB

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.