X

Como rastrear postagens e exibições de páginas por ID de usuário, data e hora

Snippets by IsItWP

Está procurando uma maneira de rastrear as visualizações de posts e páginas por ID de usuário, data e hora? Embora provavelmente exista um plug-in para isso, criamos um trecho de código rápido que você pode usar para rastrear visualizações de posts e páginas por ID de usuário, data e hora no WordPress.

Primeiro, adicione wps_trackViewDates(); dentro do loop de seu arquivo de modelo. Depois que isso for adicionado, o snippet rastreará o ID do usuário que visualizou uma postagem individual, juntamente com a data e a hora em que ela foi visualizada.

Você também pode adicionar uma opção para expiração que comparará o tempo de expiração com o tempo atual e retornará true se o tempo de expiração for menor. Isso é bastante útil se você quiser exibir uma mensagem personalizada com base na data em que cada usuário visualizou a publicação. Você pode ver “strtotime” nesse caso com mais de 20 minutos para a expiração. Veja “strtotime” para obter mais opções.

Você pode adicionar um pequeno snippet no final chamado wps_getViewCounts(); que simplesmente retornará o número de visualizações únicas de postagens.

Instruções:

Tudo o que você precisa fazer é adicionar esse código ao arquivo single.php do seu tema:

function wps_trackViewDates(){
  global $post, $current_user;
  $data_key = '_utime';
  $utime = time();
  $data = get_post_meta($post->ID, $data_key, true);

  if(is_array($data)){

        if ( !in_array( $current_user->ID, $data ) ) {
            $data[$utime] = $current_user->ID;
            $data = array_unique($data, SORT_NUMERIC );
            update_post_meta($post->ID, $data_key, $data, false);
        }else{
            $saved_time = array_search($current_user->ID, $data);
            $expiry_time = strtotime("+20 minutes",$saved_time); // expires time
            if($expiry_time < $utime) return true;
        }

  }else{
    $data = array();
    $data[$utime] = $current_user->ID;
    add_post_meta($post->ID, $data_key, $data, false);
  }

}

function wps_getViewCounts(){
  global $post, $current_user;
  $data_key = '_utime';
  $data = get_post_meta($post->ID, $data_key, true);
  if(is_array($data)){ echo count($data); }
}

Para verificar se a expiração é verdadeira, você pode adicionar o seguinte código ao seu arquivo single.php.

/* USAGE */
if(wps_trackViewDates() == true){
       echo 'message when true';
}else{
       echo 'message when false';
}

Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar/colar corretamente trechos de código no WordPress, para não danificar acidentalmente seu site.

Se você gostou desse snippet de código, considere dar uma olhada em nossos outros artigos no site, como: 25 melhores ferramentas para freelancers escalarem um negócio e como salvar dados de formulários parciais no WordPress.

Comentários   Deixe uma resposta

  1. With this function how do you show to the admin the lasted post visited by every user?

    Thanks

    1. The function likely would need to be edited a bit in order to do this. That said, you may want to check out: https://www.isitwp.com/install-google-analytics-wordpress-site/

  2. Learn how to track WordPress Page Views by User ID and Time junho 8, 2015 em 7:15 am

    […] Snippet courtesy of WP Snip […]

  3. With this function how do you show to the admin the lasted post visited by every user?

    Thanks

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

WordPress Launch Checklist

A lista de verificação definitiva para o lançamento do WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento de seu próximo site WordPress em um ebook prático.
Sim, envie-me o livro eletrônico gratuito grátis!