Terug naar portfolio
Custom WordPress Morris & BellaJanuary 8, 20263 min read

Morris & Bella - Custom Restaurant Theme

Custom WordPress restaurant theme for Morris & Bella - lightning-fast site with full control, custom Gutenberg blocks, and premium design that matches their ...

WordpressGutenbergReactTailwindPHP
 Morris & Bella - Custom Restaurant Theme

De Vraag

Morris & Bella is een plant-based restaurant met een sterke visuele identiteit. Ze zaten vast aan een Squarespace website die traag was en beperkt in mogelijkheden. Elke aanpassing kostte moeite, de laadtijden waren slecht, en ze hadden geen echte controle over hun eigen site.

Ze wilden:

  • Snelle website - geen Squarespace traagheid meer
  • Volledige controle over elke sectie
  • Zelf content beheren zonder afhankelijk te zijn van een developer
  • Premium uitstraling die past bij hun merk

Wat Ik Gebouwd Heb

Een volledig custom WordPress theme met eigen Gutenberg blocks. Geen Elementor, geen WPBakery, geen plugins. Pure WordPress met moderne development practices.

Ik heb Next.js gebruikt om snel te prototypen en het design uit te werken. Daarna alles vertaald naar een production-ready WordPress theme.

De klant beheert nu zelf hun menu's, afbeeldingen en teksten - via de native WordPress editor. En de site laadt in een fractie van de tijd vergeleken met hun oude Squarespace.


Custom Gutenberg Blocks

Ik heb 9 custom blocks gebouwd die de klant vrij kan gebruiken:

BlockFunctie
Hero SectionFullscreen beeld met overlay en animaties
Info SectionTekst met feature cards en prijzen
Menu CarouselSwipeable menu items met touch support
SuppliersLeveranciers met alternerende layout
Contact FormFormulier + Google Maps + openingstijden
NewsletterEmail signup met validatie
Blog GridDynamische WordPress posts
Menu ItemsGerechten met prijzen en dieet-info
Press SectionBadges en persaandacht

Elke block is volledig aanpasbaar via de WordPress editor. Geen code nodig.


De Technische Aanpak

Design → Prototype → WordPress

  1. Design in Next.js - Snel itereren en experimenteren
  2. Goedkeuring klant - Live prototype om feedback te verzamelen
  3. WordPress conversie - Elk component vertaald naar Gutenberg block

Next.js Prototype → WordPress Theme ├── React JSX → edit.js (editor) ├── Props → block.json (attributes) ├── Render → render.php (frontend) └── Interactivity → view.js (animaties)

Modern Build System

Geen handmatige CSS bestanden. Alles draait op:

  • Tailwind CSS v4 - Snelle styling
  • npm scripts - npm run build voor productie
  • Hot reload - Wijzigingen direct zichtbaar

Performance First

Hun Squarespace site was traag. Deze niet:

  • Geen zware plugins
  • Geoptimaliseerde assets
  • Lazy loading afbeeldingen
  • Minified CSS/JS

Wat De Klant Nu Kan

Zelf Beheren

  • Menu items toevoegen en aanpassen
  • Afbeeldingen uploaden en croppen
  • Teksten wijzigen
  • Blog posts publiceren
  • Openingstijden aanpassen

Zonder Developer

  • Geen code kennis nodig
  • Drag & drop blocks
  • Live preview in editor
  • Revisies en undo

Technologie Stack

CategorieTechnologie
CMSWordPress 6.4
EditorGutenberg (native)
BlocksCustom React components
StylingTailwind CSS v4
ColorsOKLCH color space
Buildnpm + webpack
FontsCormorant Garamond + Inter
PHP8.0+

Squarespace vs Custom WordPress

SquarespaceCustom WordPress
SnelheidTraagSnel
FlexibiliteitBeperktOnbeperkt
EigenaarschapGehuurdEigen bezit
Maandkosten€20-40/maandAlleen hosting
ControleTemplate-gebondenVolledige vrijheid

Waarom Custom Blocks?

De meeste WordPress developers gebruiken pagebuilders: Elementor, Divi, WPBakery. Waarom ik niet?

Pagebuilders:

  • Laden 500KB+ extra JavaScript
  • Maken sites traag
  • Locken je in hun ecosysteem
  • Complexe, verwarrende interface

Custom Gutenberg Blocks:

  • Native WordPress, geen plugins
  • Minimale overhead
  • Volledige controle over output
  • Cleane, onderhoudbare code

Het kost meer tijd om te bouwen, maar het resultaat is een site die jarenlang snel en stabiel blijft.


Van Squarespace naar een snelle, flexibele WordPress site. Neem contact op voor een gesprek.


Heb je een project in gedachten?

Ik ben momenteel beschikbaar voor nieuwe projecten. Laten we jouw idee snel werkelijkheid maken.