Custom WordPress Restaurant Theme

Larkin & Vine

Larkin & Vine is a demonstration build, not a client site — the restaurant is invented. It exists to show what a restaurant website looks like when the menu is treated as data instead of a design file. Most restaurant sites hang a PDF menu off a link: it cannot be read on a phone without pinching, cannot be crawled by Google, cannot say which dishes are gluten-free, and cannot be changed without whoever owns the original file. Here each dish is a post with a price field and dietary tags, so one edit updates the page and the structured data together. The opening hours work the same way — a single source of truth drives the hours table, the live "Open now" badge, the footer and the JSON-LD, so the site can never tell Google the kitchen is open while the page says closed. Reservation and private-dining requests are handled without a form plugin, stored in the admin as well as emailed, because a restaurant inbox on a Saturday is where booking requests go to die.

Larkin & Vine is a fictional restaurant — the address, phone number and reviews are invented, and the site is deliberately kept out of search results.

larkinandvine.preview.holtzdigital.com
Larkin & Vine homepage hero with a live open/closed status badge
The full menu page, built from structured dish records with prices and dietary tags
The menu on a phone — readable without pinching, with a sticky call and reserve bar
Private dining and catering page with the event inquiry form
Reservation request form with party size, date and allergy notes
Events page listing upcoming supper clubs and live music
Visit page with hours, parking, accessibility details and directions

Key Capabilities

  • Menu built from structured dish records — price, description and dietary tags per item, no PDF anywhere on the site
  • Restaurant + Menu JSON-LD generated from the live content, so the structured data cannot drift from the menu being served
  • Opening hours defined once and reused by the hours table, the live open/closed badge, the footer and the schema
  • Reservation and private-dining request forms with nonce verification, honeypot and rate limiting — no form plugin
  • Events that remove themselves from the site once the date has passed
  • Sticky mobile action bar for the three things a phone visitor actually does: call, get directions, reserve
  • Zero accessibility violations under axe-core (WCAG 2.1 AA) across every page
  • No jQuery, no page builder, no third-party requests — 7 requests and a 124ms LCP on the home page

Built With

WordPressPHP 8Custom ThemeMySQLDockerSchema.org JSON-LD

Why It Matters

Restaurants get sold websites that look fine and then quietly cost them business: a PDF menu Google cannot read, hours that contradict the search result, and a booking form nobody can update. This build is the argument for doing it properly — and it is the same theme a real Buffalo restaurant build would start from.