X

Como Rastrear Visualizações de Posts e Páginas por ID de Usuário, Data e Hora

Snippets por IsItWP

Você está procurando uma maneira de rastrear visualizações de posts e páginas por ID de usuário, data e hora? Embora provavelmente exista um plugin 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 do seu arquivo de template. Uma vez adicionado, o snippet rastreará o ID do usuário que visualizou um post individual, juntamente com a data e hora em que foi visualizado.

Você também pode adicionar uma opção de expiração que comparará o tempo de expiração com o tempo atual e retornará verdadeiro enquanto o tempo de expiração for menor. Isso é bastante útil se você quisesse exibir uma mensagem personalizada com base em quando cada usuário visualizou a postagem. Você pode ver ‘strtotime’ neste caso com mais de 20 minutos para expirar. Veja ‘strtotime’ para 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 posts.

Instruções:

Tudo o que você precisa fazer é adicionar este 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 no 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 trechos de código corretamente no WordPress, para não quebrar acidentalmente seu site.

Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: 25 melhores ferramentas para freelancers escalarem um negócio e como salvar dados parciais de formulário no WordPress.

Comentários   Deixe uma resposta

  1. Com essa função, como você mostra ao administrador o último post visitado por cada usuário?

    Obrigado

    1. A função provavelmente precisaria ser um pouco editada para fazer isso. Dito isso, você pode querer conferir: https://www.isitwp.com/install-google-analytics-wordpress-site/

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

    […] Snippet cortesia de WP Snip […]

  3. Com essa função, como você mostra ao administrador o último post visitado por cada usuário?

    Obrigado

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente 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.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!