13 ago

Criando um contador de visualizações de posts sem usar plugins

Categoria: - Comentários (18)

Neste experimento nós vamos implementar um contador de visualizações (“Views”) para os nossos posts sem usar plugins. O bacana disso tudo é que podemos também, com base nas visualizações, imprimir uma listagem de posts mais vistos!

O QUE VAMOS PRECISAR

  • O seu tema precisa ter um arquivo functions.php. Se não tiver, crie-o agora.
  • Entender o básico de programação PHP e ter acesso à base de dados onde o seu site está armazenado. Você pode usar o PHPMyAdmin ou qualquer outro sistema à sua escolha — eu uso o SQLYog.

Mãos à obra

Primeiro vamos criar a função que fará a contagem de cada visualização e armazenará o resultado num custom field:

Veja que eu começo o meu código criando um nome e um valor para o meu cookie.

A primeira linha cria o valor do cookie, que será a data atual e a segunda linha, cria um nome para o cookie, levando em consideração a URL atual.

Implementando cookies, evitamos que a visualização seja contada a carregamento da página, por exemplo, se o usuário apertar F5 várias vezes.

Eu configurei para o cookie ser excluído automaticamente após 1 hora, mas você pode configurar para o tempo que achar necessário.

Exemplos para o parâmetro “expire” da função setcookie():

Saiba mais sobre cookies no manual do PHP.

Agora nós vamos criar a função que vai rastrear os acessos:

Esta função só vai rodar se a página atual for uma single. Através do hook wp_head, eu consigo chamar a função no header do meu site.

O próximo passo é criar a função que vai mostrar quantas vezes o post foi visualizado:

Feito isso, você deve abrir o arquivo single.php do seu tema e colocar a chamada para a função no local em que desejar.

Agora faça um teste! Acesse um dos seus posts e veja se funciona.  Dê uma olhada na tabela wp_postmeta, no banco de dados, para checar se está tudo sendo gravado direitinho.

SQL Yog - Tabela wp_postmeta

SQL Yog – Tabela wp_postmeta (clique na imagem para ampliar)

Bonus!!! Que tal criar uma coluna na listagem de posts do painel administrativo?

WordPress - Nova coluna

WordPress – Nova coluna (clique na imagem para ampliar)



É isso pessoal. Espero que este artigo seja útil. Se curtiu, compartilhe! Se tiverem alguma dúvida, basta enviar um comentário. :-)

Comentários ( 18 )

  • Paulo Henrique

    A wpmidia está de parabéns pelo post o contador de views post deu certo no tema que estou desenvolvendo. Só tem um porém ele só está sendo compatível com o google crome no opema, mozila, internet explore e safari a cada vez que dou um F5+ ele adiciona mais 1 view no contador

    • wpmidia

      Olá Paulo Henrique! Muito obrigada pelo feedback.
      Você reparou se os cookies estão ativados nos navegadores em questão?
      Eu vou fazer alguns testes aqui e depois te retorno.

      Abraços.
      Miriam de Paula

  • Quero primeiro lhe parabenizar pelo post é de grande ajuda.

    Com esses artigos diminui cada vez mais o uso de plugins no WordPress.

Envie seu comentário

Resize-me!