# WordPress-Plugin

> Mit Vimine anmelden, der Mitgliedsausweis und der Beitritt auf der WordPress-Website des Vereins — ohne Code.

URL: https://developers.vimine.network/de/guides/wordpress/

Das WordPress-Plugin **Vimine** bringt die drei Grundfunktionen auf die Website des Vereins, serverseitig (keine Tokens im
Browser, keine JavaScript-Abhängigkeit):

- **Mit Vimine anmelden** — das Mitglied meldet sich mit seinem eigenen Konto an (OAuth 2.1 mit PKCE; das Plugin ist ein
  vertraulicher Client und tauscht den Code mit dem Secret auf dem Server ein);
- **Ausweis** — der Ausweis des angemeldeten Mitglieds als Bild mit dem QR-Code (`GET /v1/me/membership/card.svg`);
- **Beitritt** — das Beitrittsformular des Vereins (Embed).

## Installation

1. Öffnen Sie in WordPress *Plugins → Neues Plugin hinzufügen*, suchen Sie nach „Vimine“, installieren und
   aktivieren Sie es: Das Plugin steht im [Verzeichnis von WordPress.org](https://wordpress.org/plugins/vimine/).
2. Registrieren Sie in der Konsole Entwickler einen **vertraulichen** Client. Als Redirect-URI verwenden Sie die, die unter
   *Einstellungen → Vimine* auf der Website angezeigt wird (normalerweise `https://yoursite/vimine-callback/`); wählen Sie die Berechtigungen (mindestens
   `profile:read membership:read`).
3. Tragen Sie unter *Einstellungen → Vimine* Client-ID und Secret ein (das Secret wird nach dem Speichern nicht mehr angezeigt).

:::note[Aktualisierungen]
WordPress bietet neue Versionen von selbst an, wie bei jedem Plugin aus dem Verzeichnis, und automatische
Aktualisierungen lassen sich auf der Seite *Plugins* einschalten. Eine Website, die die früher auf dieser Seite
angebotene ZIP-Datei installiert hat, erhält sie auf dieselbe Weise, ohne Neuinstallation: Die Einstellungen bleiben
erhalten.
:::

## Verwendung

| Shortcode | Block | Was er tut |
|---|---|---|
| `[vimine_signin label="" return_to="" scope=""]` | Vimine — Anmelden | eine Schaltfläche „Mit Vimine anmelden“; „Abmelden“, wenn das Mitglied angemeldet ist (Widerruf + auch Abmeldung bei Vimine) |
| `[vimine_card]` | Vimine — Mitgliedsausweis | der Ausweis des angemeldeten Besuchers; sonst eine Einladung zur Anmeldung |
| `[vimine_enroll slug="…" height="900" lang=""]` | Vimine — Beitrittsformular | das Beitrittsformular des Vereins, in der Sprache der Website (wenn Vimine sie spricht, sonst Italienisch; `lang`, um eine zu wählen); wer schon ein Vimine-Konto hat, bekommt *Weiter auf Vimine* angeboten, das die Seite in einem neuen Tab öffnet, wo er in einem Schritt beitritt ([warum ein neuer Tab](https://developers.vimine.network/de/guides/embed-and-verify/#wer-schon-ein-vimine-konto-hat)) |
| `[vimine_events slug="…" filter="upcoming" limit="10"]` | Vimine — Veranstaltungen | die Veranstaltungen des Vereins mit den freien Plätzen (die öffentlichen für Besucher, alle für ein angemeldetes Mitglied); jede Veranstaltung verlinkt auf ihre Seite auf Vimine, wo die Anmeldung stattfindet ([Anleitung](https://developers.vimine.network/de/guides/events/)) |

Die Blöcke stehen im Editor unter „Widgets“, mit denselben Optionen.

## Wie die Sitzung funktioniert

Zurück von der gehosteten Anmeldeseite tauscht das Plugin den Code ein (PKCE-Verifier + Secret), speichert die Tokens in einem
WordPress-*Transient* und gibt dem Browser nur eine Sitzungs-ID (HttpOnly-Cookie, SameSite=Lax). Das Access-Token
erneuert sich mit dem Refresh-Token; „Abmelden“ widerruft das Refresh-Token und geht über Vimines
`/oauth/logout`, sodass die Sitzung auch dort endet. Ein Mitglied ohne Mitgliedschaft in dem Verein sieht die
entsprechende Meldung; ein Verein, dessen API nicht aktiviert ist, erhält `api_disabled`.

## Anpassung

Das Stylesheet ist minimal und verwendet die Variablen `--vimine-accent` und `--vimine-accent-contrast`; jedes Element trägt eine
Klasse `vimine-…`. Für alles Weitergehende (Mitgliederdaten im Theme, Beitritte aus einem Backoffice) verwenden Sie die
[API](https://developers.vimine.network/api/) oder das [Server-SDK](https://developers.vimine.network/de/sdk/server/) direkt mit den Zugangsdaten des Plugins.
