X

Cómo realizar un seguimiento de las visitas a entradas y páginas por ID de usuario, fecha y hora

Snippets by IsItWP

¿Está buscando una manera de realizar un seguimiento de las visitas a entradas y páginas por ID de usuario, fecha y hora? Si bien es probable que haya un plugin para esto, hemos creado un fragmento de código rápido que puede utilizar para realizar un seguimiento de las vistas de entradas y páginas por ID de usuario, fecha y hora en WordPress.

Primero añada wps_trackViewDates(); dentro del bucle de su archivo de plantilla. Una vez añadido esto, el fragmento de código rastreará el ID del usuario que vio una entrada individual junto con la fecha y hora en que fue vista.

También puede añadir una opción para la caducidad que comparará el tiempo de caducidad con el tiempo actual y devolverá true si el tiempo de caducidad es menor. Esto es muy útil si desea mostrar un mensaje personalizado basado en cuando cada usuario vio el post. Puede ver ‘strtotime’ en este caso con 20+ minutos para la expiración. Ver ‘ strtotime ‘ para más opciones.

Puede agregar un pequeño fragmento al final llamado wps_getViewCounts(); que simplemente devolverá el número de vistas únicas de post.

Instrucciones:

Todo lo que tienes que hacer es añadir este código al archivo single.php de tu 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 comprobar si la caducidad es verdadera, puede añadir el siguiente código en su archivo single.php.

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

Nota: Si es la primera vez que añade fragmentos de código en WordPress, consulte nuestra guía sobre cómo copiar / pegar correctamente fragmentos de código en WordPress, para no romper accidentalmente su sitio.

Si te ha gustado este fragmento de código, por favor considere revisar nuestros otros artículos en el sitio como: 25 mejores herramientas para freelancers para escalar un negocio y cómo guardar datos parciales de formularios en WordPress.

Comentarios   Deja una respuesta

  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 junio 8, 2015 en 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

Añadir un comentario

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!