Skip to content

cairesdev/views-wordpress-grapql-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

📊 GraphQL and Post Views

Versão: 1.2
Autor: [cairesdev]
Descrição:
Este plugin adiciona suporte para rastreamento de visualizações de posts em WordPress. As visualizações são atualizadas via REST API e podem ser consultadas pela API GraphQL.


🔧 Funcionalidades

1. Consulta de Visualizações via GraphQL

Adiciona o campo views ao tipo Post na API GraphQL.

  • Campo: views
  • Tipo: Int
  • Descrição: Número de visualizações do post

Exemplo de query:

query {
  post(id: "meu-post", idType: SLUG) {
    title
    views
  }
}

2. Incremento de Visualizações via REST API

Exponibiliza uma rota REST para incrementar as visualizações de um post.

Endpoint:

POST /wp-json/views/v1/hit/{slug}
  • Parâmetro da URL: slug – Slug do post (ex: meu-post)

  • Resposta de Sucesso (200 OK):

{
  "postId": 123,
  "slug": "meu-post",
  "views": 42
}
  • Erros Possíveis:

    • 400 Bad Request – Post inválido ou não publicado.

🛠️ Como Funciona

  • Usa graphql_register_types para adicionar o campo views ao tipo Post.
  • Usa register_rest_route para criar a rota REST /views/v1/hit/{slug}.
  • A cada requisição POST, incrementa o campo views no meta do post.

✅ Permissões

  • A rota REST está acessível publicamente (__return_true), sem necessidade de autenticação.

⚠️ Atenção: Considere proteger a rota se quiser evitar manipulação ou spam de visualizações.


📌 Requisitos

  • WordPress com WPGraphQL instalado e ativo.
  • Permalinks ativados para uso correto dos slugs.

💡 Dicas de Integração

  • Faça uma chamada POST ao endpoint REST ao carregar uma página de post via JavaScript.
  • Exemplo usando fetch no frontend:
fetch('/wp-json/views/v1/hit/meu-post', {
  method: 'POST'
});
  • Em temas com cache agressivo, certifique-se de que a chamada seja feita do lado do cliente para registrar corretamente as visualizações.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages