X

Cómo rastrear vistas de publicaciones y páginas por ID de usuario, fecha y hora

Snippets de IsItWP

¿Estás buscando una forma de rastrear las vistas de publicaciones y páginas por ID de usuario, fecha y hora? Si bien probablemente exista un plugin para esto, hemos creado un fragmento de código rápido que puedes usar para rastrear las vistas de publicaciones y páginas por ID de usuario, fecha y hora en WordPress.

Primero, agrega wps_trackViewDates(); dentro del bucle de tu archivo de plantilla. Una vez agregado, el fragmento rastreará el ID del usuario que vio una publicación individual junto con la fecha y hora en que se vio.

También puedes agregar una opción de expiración que comparará la hora de expiración con la hora actual y devolverá verdadero mientras la hora de expiración sea menor. Esto es bastante útil si quisieras mostrar un mensaje personalizado según cuándo vio cada usuario la publicación. Puedes ver ‘strtotime’ en este caso con más de 20 minutos para la expiración. Consulta ‘strtotime’ para más opciones.

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

Instrucciones:

Todo lo que tiene que hacer es agregar este código al archivo single.php de su 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 si la caducidad es verdadera, puedes agregar el siguiente código en tu archivo single.php.

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

Nota: Si es la primera vez que agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo copiar / pegar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.

Si te gustó este fragmento de código, considera revisar nuestros otros artículos en el sitio como: 25 mejores herramientas para que los freelancers escalen un negocio y cómo guardar datos parciales de formularios en WordPress.

Comentarios   Deja una respuesta

  1. Con esta función, ¿cómo le muestras al administrador la última publicación visitada por cada usuario?

    Gracias

    1. Es probable que la función necesite ser editada un poco para hacer esto. Dicho esto, quizás quieras revisar: 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

    […] Fragmento cortesía de WP Snip […]

  3. Con esta función, ¿cómo le muestras al administrador la última publicación visitada por cada usuario?

    Gracias

Agrega un comentario

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

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!