Rendern WordPress Gutenberg in Next.js — 1:

localhost: 3000/about Acme Über Docs Ladengeschäft Kontakt gemacht von NextPress Über Acme Familienunternehmen in Portland, Oregon Seit 2014. Unsere Geschichte Wir begannen in einer Garage. 12 Jahre Später packen wir noch jede Bestellung von Hand. Die Website, die Sie suchen in? Bearbeitet in WordPress, serviert von Next.js. Gleiche Blöcke, gleiches Thema, gleiche Schriften. Keine Doppelkonstruktion. Handverpackt in Portland Jeder Auftrag liefert innerhalb von 48 Stunden. CO2-neutrales Porto eingeschlossen. Lesen Sie mehr Aus dem Journal → Wie wir unsere Leinen beziehen Fünf Jahre reparierte Säume → Notizen aus dem Workshop, Frühling „26

Full Gutenberg, Keine Kompromisse.

Verdrahten Sie es in, Rendern Sie die Seite.

Bringen Sie die WooCommerce Blöcke mit dir.

  • WC Cart / Checkout / Meine Kontoblöcke werden gegen die reale Sitzung des Benutzers gerendert.
  • Cart-Token, das zwischen der nächsten App und dem gerenderten Block geteilt wird @woographql/session-utils.
  • Produktblöcke, Filter, Minikarren — derselbe WPGraphQL-Endpunkt, keine parallele REST-Oberfläche.
  • Block-Level-Mutationen (zum Warenkorb hinzufügen, Coupon anwenden) Rundreise durch WooGraphQL.
app/[…uri]/page.tsx
import { Content, nextImageParser } from '@axistaylor/nextpress'
import { fetchContentByUri } from '@/lib/utils'
import { NextPressLink } from '@/components/NextPressLink'

// proxyByWCR (NextPress Middleware) leitet den Cart-Token weiter
// Cookie zu WordPress für passende URIs, so der WP-Renderer
// Lesen Sie die gleiche Sitzung wie Ihre nächste App.
// Mein konto und produktblöcke alle render gegen den nutzer.
// Echter Warenkorb — kein withSession Wrapper erforderlich.
export default async function Page({
  params,
}: {
  params: Promise<{ uri?: string[] }>
}) {
  const { uri } = await params
  const path = '/' + (uri ?? []).join('/')
  const { content, contentCssClasses } = await fetchContentByUri(path)

  return (
    <Content
      content={content}
      contentCssClasses={contentCssClasses}
      instance="shop"
      linksAs={NextPressLink}
      parsers={[nextImageParser]}
    />
  )
}