# Plugin para WordPress

> Entrar com Vimine, a carteirinha do associado e a adesão no site WordPress da associação — sem código.

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

O plugin **Vimine** para WordPress leva as três funções básicas ao site da associação, do lado do servidor (sem tokens
no navegador, sem dependência de JavaScript):

- **Entrar com Vimine** — o associado entra com a sua própria conta (OAuth 2.1 com PKCE; o plugin é um
  cliente confidencial e troca o código com o segredo no servidor);
- **Carteirinha** — a carteirinha do associado que entrou, como imagem com o QR (`GET /v1/me/membership/card.svg`);
- **Adesão** — o formulário de adesão da associação (Incorporação).

## Instalação

1. No WordPress, abra *Plugins → Adicionar novo plugin*, procure por "Vimine", instale e ative: o plugin está no
   [diretório do WordPress.org](https://wordpress.org/plugins/vimine/).
2. No console para desenvolvedores, registre um cliente **confidencial**. Como URI de redirecionamento, use a que
   aparece em *Configurações → Vimine* no site (normalmente `https://yoursite/vimine-callback/`); escolha as permissões
   (pelo menos `profile:read membership:read`).
3. Em *Configurações → Vimine*, informe o ID e o segredo do cliente (o segredo não é mostrado de novo depois de salvo).

:::note[Atualizações]
O WordPress oferece as novas versões sozinho, como para qualquer plugin do diretório, e as atualizações automáticas
podem ser ativadas na página *Plugins*. Um site que instalou o zip que esta página oferecia recebe as atualizações do
mesmo jeito, sem reinstalar: as configurações são mantidas.
:::

## Uso

| Shortcode | Bloco | O que faz |
|---|---|---|
| `[vimine_signin label="" return_to="" scope=""]` | Vimine — Entrar | um botão "Entrar com Vimine"; "Sair" quando o associado já entrou (revogação + logout do Vimine também) |
| `[vimine_card]` | Vimine — Carteirinha | a carteirinha do visitante que entrou; nos outros casos, convida a entrar |
| `[vimine_enroll slug="…" height="900" lang=""]` | Vimine — Formulário de adesão | o formulário de adesão da associação, no idioma do site (se o Vimine o fala; senão, em italiano; `lang` para escolher um); a quem já tem uma conta Vimine é oferecido *Continue no Vimine*, que abre a página numa nova aba onde a pessoa se associa num só passo ([por que uma nova aba](https://developers.vimine.network/pt/guides/embed-and-verify/#quem-já-tem-uma-conta-vimine)) |
| `[vimine_events slug="…" filter="upcoming" limit="10"]` | Vimine — Eventos | os eventos da associação com as vagas restantes (os públicos para os visitantes, todos para um associado que entrou); cada evento tem um link para a sua página no Vimine, onde a inscrição acontece ([guia](https://developers.vimine.network/pt/guides/events/)) |

Os blocos ficam no editor em "Widgets", com as mesmas opções.

## Como a sessão funciona

De volta da página de login hospedada, o plugin troca o código (verificador PKCE + segredo), guarda os tokens num
*transient* do WordPress e dá ao navegador só um id de sessão (cookie HttpOnly, SameSite=Lax). O access token
se renova sozinho com o refresh token; "Sair" revoga o refresh token e passa pelo `/oauth/logout` do Vimine,
então a sessão termina lá também. Um associado sem carteirinha na associação vê a mensagem correspondente; uma
associação cuja API não está ativada recebe `api_disabled`.

## Personalização

A folha de estilo é mínima e usa as variáveis `--vimine-accent` e `--vimine-accent-contrast`; cada elemento tem uma
classe `vimine-…`. Para qualquer coisa mais rica (dados do associado no tema, adesões a partir de um back office) use
diretamente a [API](https://developers.vimine.network/api/) ou o [SDK de servidor](https://developers.vimine.network/pt/sdk/server/) com as credenciais do plugin.
