Źródło: https://wpinplate.com/dokumentacja/bloki-i-shortcody/

# Bloki i shortcode'y na stronie

Elementy WP InPlate wstawiasz na strony jako bloki w edytorze Gutenberg albo jako shortcode'y. Działają w dowolnym motywie WordPress, także w kreatorach stron, które obsługują shortcode'y.

| Element | Blok | Shortcode |
|---|---|---|
| Menu | InPlate – Menu | `[wp-inplate-menu]` |
| Nawigacja kategorii | InPlate – Nawigacja menu | `[wp-inplate-menu-nav]` |
| Danie dnia | InPlate – Danie dnia | `[wp-inplate-dish]` |
| Koszyk | InPlate – Koszyk | – |
| Sprawdzanie dostawy | InPlate – Sprawdzacz dostawy | `[wp-inplate-delivery-checker]` |
| Formularz zamówienia | – | `[wp-inplate-checkout]` |

## Menu

Pełna karta dań podzielona na kategorie. Kliknięcie dania otwiera okno ze zdjęciem, opisem, gramaturą, znacznikami i dodatkami. Na telefonie okno wysuwa się od dołu: przeciągnięcie uchwytu w dół je zamyka, a długą listę dodatków przewijasz normalnie. Przycisk „+” na karcie dodaje danie do koszyka bez otwierania okna (dla dań z wymaganymi dodatkami otwiera okno).

| Opcja bloku | Atrybut shortcode'u | Wartości | Domyślnie |
|---|---|---|---|
| Układ kart | `layout` | `grid` (siatka, karta pionowa), `list` (lista, karta pozioma), `tiles` (kafelki kwadratowe) | `grid` |
| Pokaż zdjęcie | `show_image` | `1` / `0` | `1` |
| Pokaż opis | `show_description` | `1` / `0` | `1` |
| Minimalna szerokość kafelka (px) | `min_width` | liczba; kafelki są szersze, jeśli kolumna ma miejsce | automatycznie |

Przykład:

```
[wp-inplate-menu layout="list" show_description="0"]
```

Strona z menu musi być wskazana w **InPlate → Ustawienia → System → Strony → Strona menu**. Na nią prowadzą przekierowania ze stron sklepu WooCommerce i linki z koszyka.

## Nawigacja menu

Przyciski kategorii, które przewijają stronę do wybranej sekcji menu. Bieżąca kategoria jest podświetlona podczas przewijania. Umieść blok nad menu (wiersz) albo w sidebarze obok menu (kolumna).

| Opcja bloku | Atrybut | Wartości | Domyślnie |
|---|---|---|---|
| Układ | `type` | `row` – poziomy pasek nad menu, `column` – kategorie jedna pod drugą, np. w sidebarze | `row` |
| Przyklejona nawigacja (sticky) | `sticky` | `1` – zostaje widoczna przy przewijaniu, `0` – statyczna | `1` |

Przykład nawigacji w sidebarze: `[wp-inplate-menu-nav type="column"]`.

## Danie dnia

Wyróżnione dania InPlate na dziś, np. na stronie głównej. Gdy zamówienia są zamknięte, blok pokazuje komunikat i opcjonalnie datę, od kiedy znów przyjmujesz zamówienia.

| Opcja bloku | Atrybut shortcode'u | Opis | Domyślnie |
|---|---|---|---|
| Typy dań | `type` | Klucze typów oddzielone przecinkami, np. `danie-dnia,zupa-dnia`. Brak = wszystkie typy | wszystkie |
| Układ | `layout` | `list`, `grid`, `tiles` | `list` |
| Pokaż niedostępne dania | `show_unavailable` | `1` – niedostępne dania wyświetlą się jako wyprzedane | `0` |
| Pokaż zdjęcie | `show_image` | `1` / `0` | `1` |
| Pokaż opis | `show_description` | `1` / `0` | `1` |
| Minimalna szerokość kafelka | `min_width` | liczba w px | automatycznie |
| Komunikat gdy brak dań | `alt` | Tekst, gdy na dziś nie ma dań, np. „Zapraszamy jutro” | tekst domyślny |
| Komunikat zamknięcia | tylko w bloku | Tekst, gdy zamówienia są zamknięte lub minęła godzina ich przyjmowania | tekst domyślny |
| Pokaż datę powrotu | tylko w bloku | Pokazuje, kiedy znów przyjmujesz zamówienia | włączone |

Klucze typów znajdziesz w **InPlate → Typy dań** – przy każdym typie jest gotowy shortcode.

Przykład:

```
[wp-inplate-dish type="danie-dnia" layout="grid" alt="Dziś bez dania dnia – zapraszamy jutro."]
```

Starszy shortcode `[wp-inplate]` nadal działa jak `[wp-inplate-dish]`, ale jest przestarzały. Zastąp go nowym.

## Koszyk

Przycisk z licznikiem pozycji. Kliknięcie wysuwa panel z podsumowaniem zamówienia: pozycje z dodatkami, zmiana ilości, link „Personalizuj” przy daniach z dodatkami, suma i przycisk przejścia do zamówienia. Dostępny jako blok.

| Opcja | Opis | Domyślnie |
|---|---|---|
| Tekst przycisku | Napis na przycisku | „Zobacz zamówienie” |
| Pokaż ikonę koszyka | Ikona przed napisem | włączone |
| Strona wysuwania | Z prawej albo z lewej | z prawej |
| Maksymalna szerokość (px) | Szerokość panelu | 360 |
| Tekst przycisku przejścia do kasy | Napis na przycisku w panelu | „Zamawiam” |
| Kolory | Tło przycisku, kolor ikony, tło licznika, kolor liczby | kolory motywu |

Kod rabatowy klient wpisuje na stronie zamówienia, nie w panelu koszyka. Rabat zastosowany na stronie zamówienia jest uwzględniony w sumie w panelu.

## Sprawdzacz dostawy

Przycisk, który otwiera okno z dwoma krokami: najpierw klient wybiera, jak zje zamówienie (na miejscu albo z dostawą), potem przy dostawie wpisuje adres. Wynik pokazuje się od razu: adres w strefie (z opłatą i minimum) albo poza strefą (z propozycją odbioru). Wybór klienta jest zapamiętany i ustawiony z góry w formularzu zamówienia.

Okno działa także po godzinach zamówień – klient widzi wtedy informację o zamknięciu i wynik dla swojego adresu.

| Opcja bloku | Opis |
|---|---|
| Pokaż ikonę / Zmień ikonę | Ikona w nagłówku okna, z biblioteki mediów |
| Pokaż tytuł / Tytuł | Domyślnie „Jak zjesz swoje zamówienie?” |
| Pokaż opis / Opis | Domyślnie „Twój wybór zapamiętamy na następny raz.” |
| Etykieta: Na miejscu | Nazwa przycisku wyboru, np. „Odbiór w lokalu” |
| Etykieta: Dostawa | Nazwa przycisku wyboru, np. „Dostawa do biura” |

Puste pole oznacza tekst domyślny.

## Formularz zamówienia

Shortcode `[wp-inplate-checkout]` wstawia formularz zamówienia: wybór sposobu realizacji, godziny, adresu, danych kontaktowych i płatności. Umieść go na osobnej stronie i wskaż ją w **InPlate → Ustawienia → System → Strony → Strona checkout**. Kreator konfiguracji tworzy tę stronę automatycznie.

Opis tego, co widzi klient, w rozdziale [Jak zamawia klient](/dokumentacja/zamawianie-klient/).
