En el pasado, le mostramos cómo crear un tabber de publicaciones populares en WordPress utilizando un complemento. Ese plugin funciona muy bien en la caja para tabbers. Sin embargo, queríamos más personalización en nuestro diseño, así que decidimos hacerlo sin un complemento. En este artículo, le mostraremos cómo rastrear y mostrar publicaciones populares mediante vistas en WordPress sin usar ningún complemento.

En la siguiente captura de pantalla, se muestra un ejemplo de nuestra visualización popular de publicaciones populares:

Ejemplo de publicaciones populares

Lo primero que debemos hacer es crear una función que detecte el recuento de vistas posteriores y almacenarlo como un campo personalizado para cada publicación. Para ello, pegue los siguientes códigos en el archivo functions.php de su tema o mejor en un complemento específico del sitio:

function wpb_set_post_views ($ postID) {
     $ count_key = 'wpb_post_views_count';
     $ count = get_post_meta ($ postID, $ count_key, true);
     if ($ count == '') {
         $ count = 0;
         delete_post_meta ($ postID, $ count_key);
         add_post_meta ($ postID, $ count_key, '0');
     }más{
         $ count ++;
         update_post_meta ($ postID, $ count_key, $ count);
     }
 }
 // Para mantener el recuento exacto, vamos a deshacernos de la captación previa
 remove_action ('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 

Ahora que tiene esta función en su lugar, debemos llamar a esta función en las páginas de publicación única. De esta forma, la función sabe exactamente qué publicación obtiene el crédito por las vistas. Para hacer esto, necesitarás pegar el siguiente código dentro de tu ciclo de publicación única:

wpb_set_post_views (get_the_ID ()); 

Si está utilizando un tema secundario o simplemente quiere facilitar las cosas, simplemente debe agregar el rastreador en su encabezado usando wp_head hook. Así que pegue el siguiente código en el archivo functions.php de su tema o en el complemento específico del sitio:

función wpb_track_post_views ($ post_id) {
     if (! is_single ()) return;
     if (empty ($ post_id)) {
         global $ post;
         $ post_id = $ post-> ID;
     }
     wpb_set_post_views ($ post_id);
 }
 add_action ('wp_head', 'wpb_track_post_views'); 

Una vez que haya colocado esto, cada vez que un usuario visite la publicación, se actualizará el campo personalizado.

Nota: Si está utilizando un complemento de almacenamiento en caché, esta técnica NO funcionará de forma predeterminada. Estamos utilizando W3 Total Cache, y tiene la característica llamada Fragmented Caching. Puedes usar eso para que esto funcione bien. Esto es lo que necesita ser cambiado:


Ahora puede hacer todo tipo de cosas interesantes, como mostrar el recuento de vistas de publicaciones, o ordenar las publicaciones según el recuento de visitas. Echemos un vistazo a cómo hacer algunas de estas cosas geniales.

Si desea mostrar el recuento de vista de publicación en sus páginas de publicación única (a menudo al lado del recuento de comentarios o algo así). Luego, lo primero que debe hacer es agregar lo siguiente en el archivo functions.php de su tema o en el complemento específico del sitio.

function wpb_get_post_views ($ postID) {
     $ count_key = 'wpb_post_views_count';
     $ count = get_post_meta ($ postID, $ count_key, true);
     if ($ count == '') {
         delete_post_meta ($ postID, $ count_key);
         add_post_meta ($ postID, $ count_key, '0');
         devolver "0 Ver";
     }
     devuelve $ count. '  Puntos de vista';
 } 

Luego, dentro de su bucle de publicación, agregue el siguiente código:

wpb_get_post_views (get_the_ID ()); 

Si desea ordenar las publicaciones por conteo de visitas, puede hacerlo fácilmente usando el parámetro wp_query post_meta. La consulta de bucle de ejemplo más básica se vería así:

4, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC'));
 while ($ popularpost-> have_posts ()): $ popularpost-> the_post ();

 el título();

 al final;
 ?> 

Para agregar otros parámetros de WP_Query, como el rango de tiempo, consulte la página WP_Query en Codex.

Esperamos que hayas disfrutado de esta publicación.