=== Gastrobrand Embeds ===
Contributors: gastrobrand
Tags: restaurant, menu, speisekarte, reservation, embed
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Tagesmenü, Wochenmenü, Speisekarte und Tischreservierung aus Gastrobrand auf der eigenen WordPress-Website – per Shortcode oder Block.

== Description ==

Gastrobrand ist eine Verwaltungsplattform für Restaurants. Dieses Plugin zeigt die dort gepflegten Inhalte auf Ihrer bestehenden WordPress-Website an:

* **Tagesmenü** – das heutige Menü, jeden Tag automatisch aktuell
* **Wochenmenü** – das laufende Wochenmenü
* **Speisekarte** – die vollständige Karte mit Preisen und Allergenen
* **Tischreservierung** – ein Button, der den Reservierungsassistenten in einem Fenster über Ihrer Seite öffnet

Die Inhalte werden nicht kopiert, sondern **im Browser des Besuchers live von Gastrobrand geladen**: Ändern Sie das Tagesmenü in Gastrobrand, ist es innerhalb einer Minute auch auf Ihrer Website aktuell. Das Plugin selbst enthält keine Darstellungslogik – es setzt nur die benötigten HTML-Elemente und lädt das Gastrobrand-Skript. Deshalb braucht es fast nie ein Update.

**Voraussetzung:** ein Gastrobrand-Konto, in dem die Einbindung aktiviert und die Domain Ihrer Website eingetragen ist (Gastrobrand → Einstellungen → Website). Dort steht auch der öffentliche Schlüssel, den Sie in diesem Plugin hinterlegen.

= Verwendung =

Im Block-Editor finden Sie die vier Blöcke in der Kategorie «Gastrobrand». Im klassischen Editor, in Widgets oder in Page-Buildern verwenden Sie die Shortcodes:

* `[gastrobrand_tagesmenu]`
* `[gastrobrand_wochenmenu]`
* `[gastrobrand_karte]` – oder `[gastrobrand_karte layout="cards"]` für Karten mit Fotos
* `[gastrobrand_reservation label="Tisch reservieren"]`

Optionale Attribute: `lang="de|en|it"`, `heading="auto|none"`, `photos="1"` (Menüfoto), `layout="list|cards"` (Speisekarte als Karten mit Foto, Name und Preis; Tages-/Wochenmenü bleiben eine Liste), `label="…"` (Beschriftung des Reservierungs-Buttons).

= Aussehen anpassen =

Die Widgets übernehmen Schrift und Textfarbe Ihres Themes. Alles Weitere lässt sich über CSS-Variablen anpassen (`--gb-color-accent`, `--gb-font-family`, `--gb-button-bg`, …). Die vollständige Liste finden Sie in der Gastrobrand-Dokumentation unter `/embed/docs` auf Ihrem Gastrobrand-Server.

= Suchmaschinen =

Die Menüs werden im Browser des Besuchers nachgeladen. Für Suchmaschinen zählen sie **nicht** wie normaler Seiteninhalt. Verlassen Sie sich für die Auffindbarkeit weiterhin auf die eigenen Texte Ihrer Seiten.

== External services ==

This plugin connects to the **Gastrobrand** service (the server address is shown in the plugin settings; it is the Gastrobrand instance your restaurant account lives on). It is required for every feature of the plugin – without it, nothing is displayed.

**What is sent, and when:**

* On every page view that contains a Gastrobrand shortcode or block, the visitor's browser loads the embed script (`/embed/v1/gastrobrand.js`) from the Gastrobrand server and fetches the restaurant's public menu (`/api/embed/v1/menu`). These requests carry the visitor's IP address, browser information and the address of the page they are on (as an `Origin`/`Referer` header), plus the restaurant's public embed key. No cookies are set and nothing is stored in the visitor's browser.
* When a visitor opens the reservation button, the browser loads the reservation page (`/embed/reserve/…`) from the Gastrobrand server inside a frame. The name, phone number, e-mail address, party size, date, time and notes the visitor enters are sent to the Gastrobrand server to create the reservation for the restaurant.
* Nothing is sent from your WordPress server itself. The plugin makes no server-side requests and transmits no WordPress data (users, posts, settings) anywhere.

The restaurant, as the operator of the website and the owner of the Gastrobrand account, is responsible for informing visitors in its privacy policy. A paste-ready paragraph is provided in the Gastrobrand documentation (`/embed/docs`) together with the terms and privacy policy of the Gastrobrand service.

== Installation ==

1. Laden Sie die ZIP-Datei in WordPress unter *Plugins → Installieren → Plugin hochladen* hoch und aktivieren Sie das Plugin.
2. Öffnen Sie *Einstellungen → Gastrobrand* und tragen Sie den öffentlichen Schlüssel aus Gastrobrand (Einstellungen → Website) ein.
3. Stellen Sie sicher, dass die Domain Ihrer Website in Gastrobrand unter *Erlaubte Domains* eingetragen ist.
4. Fügen Sie die Blöcke oder Shortcodes in Ihre Seiten ein.

== Frequently Asked Questions ==

= Das Widget zeigt «Menü nicht verfügbar – bitte den Einbindungscode prüfen». =

Entweder fehlt der Schlüssel im Plugin, er wurde in Gastrobrand erneuert, die Einbindung ist dort nicht aktiviert, oder die Domain Ihrer Website steht nicht in der Liste der erlaubten Domains.

= Ist der Schlüssel ein Passwort? =

Nein. Er ist öffentlich (er steht im Quelltext jeder Seite, die ein Widget zeigt) und erlaubt ausschliesslich das Lesen der Menüinhalte, die ohnehin auf Ihrer öffentlichen Restaurant-Seite stehen. Bei Missbrauch kann er in Gastrobrand jederzeit erneuert werden – danach tragen Sie den neuen Schlüssel einmal im Plugin ein; Ihre Seiten müssen nicht angefasst werden.

= Funktioniert das Plugin mit meinem Page-Builder? =

Ja – überall, wo Shortcodes ausgeführt werden.

= Welche Daten speichert das Plugin? =

Nur die drei Einstellungen (Schlüssel, Sprache, Server-URL) in der Optionstabelle. Beim Löschen des Plugins werden sie entfernt.

== Changelog ==

= 1.1.0 =
* Neues Attribut `layout="list|cards"` für Shortcodes und Blöcke: die Speisekarte als Karten mit Fotos (Widget 1.2). Ohne das Attribut ändert sich nichts.

= 1.0.0 =
* Erste Version: vier Shortcodes, vier Blöcke, Einstellungsseite.
