Skip to content

Plugin de favoritar Via api e Via Front End#74

Open
jamersonwesley wants to merge 1 commit intoApiki:masterfrom
jamersonwesley:Jamerson-Wesley
Open

Plugin de favoritar Via api e Via Front End#74
jamersonwesley wants to merge 1 commit intoApiki:masterfrom
jamersonwesley:Jamerson-Wesley

Conversation

@jamersonwesley
Copy link
Copy Markdown

📌 WP Favoritos Completo

Plugin WordPress para sistema de favoritos com:

  • ✅ API REST completa
  • ✅ Botão automático nos posts
  • ✅ Dashboard com listagem de favoritos
  • ✅ Persistência em tabela própria

🚀 Funcionalidades

  • Favoritar e desfavoritar posts
  • Verificar status de favorito
  • Listar favoritos do usuário logado
  • Botão automático nos posts
  • Página no painel admin com favoritos

🗄️ Estrutura do Banco

Tabela criada automaticamente:

wp_favoritos

Campos:
Campo | Tipo | Descrição
 --   |   --   |   --
id | BIGINT | ID do registro
user_id | BIGINT | ID do usuário
post_id | BIGINT | ID do post
created_at | DATETIME | Data de criação


🔗 Rotas da API

Base URL:

/wp-json/wp-favoritos/v1

❤️ Favoritar Post

POST /favoritar

Body:
{
"post_id": 123
}

Resposta:
{
  "favorited": true,
  "message": "Post favoritado!"
}

💔 Desfavoritar Post

POST /desfavoritar
Body:
{
  "post_id": 123
}
Resposta:
{
  "favorited": false,
  "message": "Post desfavoritado!"
}

🔍 Verificar Status

GET /status?post_id=123
Resposta:
{
  "favorited": true
}

📋 Listar Favoritos

GET /list
[
  {
    "post_id": 123,
    "post_title": "Olá Mundo",
    "post_date": "2026-03-20 10:00:00"
  }
]

🔐 Autenticação

Todas as rotas exigem usuário autenticado.

Opções:

  1. Navegador (WordPress logado)
    Funciona automaticamente via cookies
  2. Postman / API externa

Use Basic Auth com senha de aplicação:

Authorization: Basic base64(usuario:senha_de_aplicacao)


🧠 Funções do Plugin

🔧 Core

install()

  • Cria a tabela wp_favoritos

routes()

  • Registra todas as rotas REST

❤️ Favoritos

favoritar($request)

  • Adiciona um post aos favoritos
  • Evita duplicidade

desfavoritar($request)

  • Remove o post dos favoritos

status($request)

  • Retorna se o post está favoritado

listar()

  • Lista favoritos do usuário logado

🎨 Interface

add_button($content)

  • Adiciona botão automático nos posts

scripts()

  • Carrega JS e configura API + nonce

📊 Dashboard

dashboard_menu()

  • Cria menu "Meus Favoritos"

dashboard_page()

  • Exibe lista de favoritos no admin

🖱️ Botão nos Posts

O plugin adiciona automaticamente:

  • ❤️ Favoritar
  • 💔 Desfavoritar

Apenas para usuários logados.


📂 Estrutura do Projeto

wp-favoritos/
├── wp-favoritos.php
├── favoritos.js


⚠️ Requisitos

  • WordPress 5+
  • PHP 7.4+
  • Usuário autenticado

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant