Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo mostrar entradas populares por visitas en WordPress (2 maneras)

Nota editorial: Ganamos una comisión de los enlaces de socios en WPBeginner. Las comisiones no afectan a las opiniones o evaluaciones de nuestros editores. Más información sobre Proceso editorial.

¿Desea mostrar entradas populares en función de sus visitas en WordPress?

Al mostrar las entradas más populares de su blog de WordPress, puede ayudar a los lectores a encontrar su mejor y más valioso contenido. Además, puede animarles a permanecer más tiempo en tu sitio web.

En este artículo, le mostraremos cómo mostrar sus entradas populares por vistas en WordPress.

How to Display Popular Posts by Views in WordPress

¿Por qué mostrar entradas populares por vistas en WordPress?

Cuando los usuarios ven las entradas más populares de su blog de WordPress, pueden descubrir qué contenido gusta más a sus compañeros lectores. De este modo, pueden marcar / comprobar esos artículos y unirse a la conversación.

Y lo que es más, mostrar tu contenido más popular en WordPress puede impulsar tu prueba social. Es como decir a los nuevos usuarios: “Oye, a otras personas les han resultado muy útiles estas entradas, ¡y a ti también te lo podrían parecer!”.

WPBeginner's trending and popular posts

Por último, mostrar las entradas del blog que son tendencia puede hacer que la gente permanezca más tiempo en su sitio web y explore más su contenido.

Cuanto mayor sea la participación de los usuarios, más considerará Google que su contenido es bueno e importante. A su vez, su sitio puede posicionarse mejor. Además, esto da a los lectores más tiempo para realizar conversiones, como suscribirse a su boletín de noticias.

Desafortunadamente, WordPress no tiene una característica incorporada o un bloque para mostrar sus entradas más populares por páginas vistas. En esta guía, le mostraremos cómo hacer exactamente eso con un plugin y con código.

Sólo tiene que hacer clic en uno de los enlaces rápidos que aparecen a continuación para acceder directamente al método que prefiera:

Tutorial en vídeo

Subscribe to WPBeginner

Si prefiere instrucciones escritas, siga leyendo.

Método 1: Mostrar entradas populares de WordPress por visitas con MonsterInsights

La forma más fácil de mostrar entradas populares por visitas en WordPress es con un plugin. En realidad hay muchos plugins de entradas populares de WordPress disponibles, pero en nuestra opinión, la mejor opción es MonsterInsights.

The MonsterInsights Google Analytics plugin

Utilizado por más de 3 millones de sitios web en todo el mundo, MonsterInsights es el mejor plugin de Google Analytics para WordPress. Aunque su funcionalidad principal es el análisis, también tiene una característica fácil de usar para mostrar sus entradas más populares.

Lo primero es lo primero, tendrás que instalar el plugin MonsterInsights y conectarlo a tu cuenta de Google Analytics. Para más detalles, consulte nuestra guía paso a paso sobre cómo instalar Google Analytics en WordPress para principiantes.

Nota: Aunque existe una versión gratuita de MonsterInsights, utilizaremos la versión Pro, ya que incluye la característica de entradas populares.

Elija un tema parael widget de entradas populares

Una vez que hayas activado y configurado el plugin, ve a Insights ” Popular Posts desde el escritorio de WordPress. A continuación, haz clic en el elemento / artículo del menú “Widget de entradas populares”.

The Popular Posts Widget in MonsterInsights

Desplazándose hacia abajo, tendrá que seleccionar un tema para mostrar el widget de entradas populares. Hay varias opciones.

Algunas incluyen una imagen destacada para la entrada, mientras que otras tienen un aspecto más minimalista.

Choosing a popular posts widget theme in MonsterInsights

Si quiere ver cómo es el tema antes de elegir, baje por la página hasta la sección Vista previa del tema.

También puedes obtener una vista previa del tema en formato Ancho o Estrecho. Con el formato Ancho, verás tus entradas listadas bajo el contenido de la página o entrada, mientras que el formato Estrecho muestra las entradas a la derecha de la misma, como una barra lateral.

Previewing the popular posts widget theme in MonsterInsights

A continuación, desplázate hasta la sección “Personalizar diseño”. Aquí puedes modificar los colores del tema, el tamaño de la fuente, la disposición y el número de entradas que se mostrarán.

Las opciones de personalización pueden variar en función del tema que utilices. Por lo tanto, asegúrese de explorar los diferentes temas para ver cuál le conviene más.

Customizing the popular posts widget theme in MonsterInsights

Configurar el comportamiento del widget de entradas populares

Una vez que hayas configurado el diseño del tema, debes ir a la sección Comportamiento. Aquí es donde controlarás cómo aparecerá el widget de entradas populares en tu sitio web WordPress.

En los ajustes de estilo del widget, puede optar por utilizar el diseño que ha realizado anteriormente u optar por no aplicar ningún estilo al widget. Con la segunda opción, el widget seguirá el CSS del tema de tu sitio web de WordPress.

A continuación, puedes elegir cómo debe elegir el widget tus entradas más populares. Aquí, selecciona “Seleccionadas”.

Some of the popular posts widget's behavior settings in MonsterInsights

Lo que tienes que hacer a continuación es activar la opción ‘Añadir Top 5 Entradas de Google Analytics’. Pero antes de hacer eso, necesitarás el MonsterInsights Dimensions Add-On y añadir el tipo de contenido como una nueva dimensión personalizada.

Esto permitirá a MonsterInsights elegir las entradas más populares basándose en los datos de Google Analytics.

Para ello, debe descargar la extensión MonsterInsights Dimensions e instalarla como plugin en WordPress. Para obtener instrucciones paso a paso, marca / comprobar nuestra guía sobre cómo instalar un plugin de WordPress.

A continuación, vaya a Insights “ Ajustes y cambie a la pestaña ‘Conversiones’. A continuación, haz clic en “Añadir nueva dimensión personalizada”.

Adding a new custom dimension in MonsterInsights

Una vez hecho esto, seleccione “Tipo de contenido” en el menú desplegable.

Esto activará MonsterInsights para realizar un seguimiento del rendimiento de las entradas de su blog y otros tipos de contenido personalizado.

Selecting post type as a custom dimension in MonsterInsights

Ahora, sólo regresa a Insights ” Entradas populares y ve a ‘Popular Posts Widget’.

Simplemente activa el botón conmutador “Añadir las 5 entradas principales de Google Analytics”. A continuación, haz clic en “Probar entradas automatizadas” para ver si la configuración ha sido correcta.

Adding top 5 posts based on GA data in MonsterInsights

En caso afirmativo, aparecerá un mensaje / ventana emergente correcto.

Debería decir: “Los datos de las entradas más populares pueden obtenerse correctamente. Ten en cuenta que, dependiendo de cuándo hayas establecido los ajustes de Dimensiones personalizadas, pueden transcurrir hasta 7 días antes de que se carguen los datos de Entradas populares relevantes desde Google Analytics”.

Popular posts data can be fetched correctly popup message in MonsterInsights

Pasando a los siguientes pasos, ahora puedes añadir un título que aparecerá encima del widget. Puede ser algo como “Comprueba nuestras entradas más populares” o algo similar.

A continuación, puede elegir si el widget debe mostrarse en todos los tipos de entradas, excluirse de entradas específicas y/o aparecer solo en determinadas categorías de entradas.

Estos ajustes son útiles si tienes tipos de contenido personalizados que no sean entradas de blog y crees que el widget de entradas populares parecerá irrelevante allí.

More behavior settings for the popular posts widget in MonsterInsights

Uno de los últimos pasos es incrustar el widget de entradas populares. Hay varias opciones: colocarlo automáticamente, usar un bloque de Gutenberg, añadirlo como widget de la barra lateral o usar un shortcode.

Veamos las opciones una por una.

The embed options of popular posts widget in WordPress

Incrustar automáticamente el widget de entradas populares

Se recomienda la Colocación automática si desea que el widget aparezca en todas las entradas que coincidan con los ajustes de Comportamiento que haya establecido anteriormente.

Para ello, basta con activar el botón Colocación automática.

Activating automatic placement for the popular posts widget in MonsterInsights

El inconveniente de esta opción es que no puedes ajustar el diseño del widget en función de lo que mejor quede en la entrada o página. Si necesitas este tipo de funcionalidad, puedes probar el siguiente método.

Incrustar el bloque de entradas populares en una página o entrada

Si quieres tener más control sobre el aspecto del widget en una página o entrada, entonces este método es para ti.

Primero, ve al editor de bloques de la entrada o página en la que quieres que esté el widget. Después, haz clic en el botón “+” para añadir bloques en cualquier parte del editor y busca el bloque Entradas populares.

Adding MonsterInsights' popular posts block in the WordPress block editor

En el panel de ajustes del bloque, verás que hay opciones para cambiar el tema del widget, el tamaño de la fuente, los colores, el título, la disposición y el recuento de entradas.

Estos ajustes son similares a los que hemos visto en el plugin MonsterInsights.

MonsterInsights' popular posts block settings in the WordPress block editor

La unica diferencia es que no puedes cambiar las entradas que se eligen en el widget.

Dicho esto, en los Ajustes de comportamiento, es posible mostrar solo entradas de determinadas categorías. De esta forma, puedes hacer que las entradas más populares se adapten mejor a tus necesidades.

Choosing to only display posts from certain categories in the MonsterInsights popular posts widget

Una vez que esté satisfecho con los ajustes del bloque, sólo tiene que hacer clic en el botón “Actualizar” del editor de entradas y páginas.

Este es el aspecto del bloque Entradas populares en nuestro sitio web de prueba:

Example of what the MonsterInsights popular posts block look like on the WordPress site

Incrustar el widget de entradas populares en una barra lateral

Si estás usando un tema de WordPress que no sea de bloque y que tenga un área de barra lateral preparada para widgets, puedes añadirle el widget de entradas populares.

Todo lo que tienes que hacer es ir a Apariencia ” Widgets. Luego, haz clic en el botón ‘+’ para añadir widgets en el área de la barra lateral y busca el widget Entradas populares – MonsterInsights.

Adding the MonsterInsights popular posts widget to the sidebar area

Al igual que en el método anterior, el widget incluye ajustes similares para personalizar la apariencia del tema.

La diferencia es que la interfaz es un poco más difícil de usar. Al cambiar los ajustes, no puedes ver el aspecto real del widget. Tendrás que hacer clic en otro widget o en otra zona para obtener una vista previa.

Si estás satisfecho con el aspecto del widget, sólo tienes que hacer clic en “Actualizar” en la esquina superior derecha.

Updating the sidebar area after adding the MonsterInsights popuplar posts widget

Asegúrese de ir a su sitio web para comprobar si la barra lateral se ve bien.

Este es el aspecto del nuestro:

Example of the MonsterInsights popular posts widget in a sidebar

Incrustar el widget de entradas populares con un shortcode

La última opción es utilizar un shortcode. Este método se recomienda si las opciones anteriores no funcionan para su caso de uso específico.

En la pestaña del widget de entradas populares, desplázate hasta la sección “Opciones de incrustación”. A continuación, selecciona “Mostrar usando un shortcode” y haz clic en el botón “Copiar shortcode”.

Copying the popular posts widget shortcode in MonsterInsights

Después, simplemente coloca el shortcode donde quieras. Para más información, comprueba nuestra guía sobre cómo añadir shortcodes en WordPress.

Método 2: Mostrar entradas populares de WordPress por vistas con código

El método MonsterInsights es la forma más sencilla de mostrar su contenido más popular y mejor por vistas en WordPress. Pero si te sientes cómodo con la codificación, entonces también puedes usar código para mostrar tus entradas más populares en WordPress.

Para este método, recomendamos utilizar un plugin de fragmentos de código como WPCode, que es el que utilizaremos en esta guía.

WPCode - Best WordPress Code Snippets Plugin

WPCode permite insertar código personalizado sin interactuar directamente con los archivos de WordPress. Además, dado que este método requiere el uso de múltiples fragmentos de código, el plugin hará que la gestión y el seguimiento de todos ellos sea mucho más fácil.

Primero, necesitas instalar WPCode en WordPress. Existe una versión gratuita de W PCode, pero vamos a utilizar la versión Pro, ya que viene con las características que necesitamos para insertar el código en los lugares correctos.

Para obtener una guía de instalación paso a paso, lea nuestro artículo sobre cómo instalar un plugin de WordPress.

Añadir función de contador de entradas de WordPress

Una vez activado el plugin, debe ir a Fragmentos de código ” + Añadir frag mento desde el panel de control. A continuación, pase el cursor sobre “Añadir su código personalizado (nuevo fragmento)” y haga clic en “Usar fragmento”.

Use snippet

Ahora estás dentro del editor de fragmentos de código de WPCode. Antes de insertar cualquier código, añada un título al fragmento de código.

Para este primer código, puedes llamarlo algo así como ‘Función Contador de Entradas de WordPress’. Esto es porque el propósito de este primer código es crear una función para contar entradas vistas en WordPress.

A continuación, cambie el Tipo de código a ‘Fragmento de código PHP’. Tenga en cuenta que todos los fragmentos de código que tendrá que añadir de este artículo están en PHP.

Creating the WordPress Post Views Counter Function in WPCode

A continuación, copia y pega el siguiente código:

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');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}
//Get rid of prefetching to keep the count accurate
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

Ahora, desplácese hasta la sección “Inserción” y seleccione “Inserción automática” para el método de inserción y “Ejecutar en todas partes” para la ubicación. Esto funciona igual que insertar el código en el archivo functions.php de tu tema.

A continuación, vaya a la parte superior derecha de la página y active el código.

A continuación, haga clic en “Guardar fragmento de código”.

Choosing the insertion method and location in WPCode

En esta etapa, necesita añadir otro nuevo fragmento de código personalizado. Puede llamarlo “Llamada a la función de seguimiento de entradas”.

Este código llamará a la función anterior y la activará en sus páginas de entradas individuales.

Una vez hecho esto, copia y pega el siguiente fragmento de código:

wpb_set_post_views(get_the_ID());

Lo que es diferente acerca de este fragmento de código es que usted elegirá la ubicación ‘Insertar después de la entrada’ porque se supone que se ejecuta en sus páginas de entradas individuales.

Choosing Insert After Post as the code insertion location in WPCode

Cuando hayas terminado, activa el código y guárdalo.

Insertar WordPress Entradas Vistas Gancho de seguimiento

Ahora, necesita añadir un nuevo fragmento de código que compruebe si la página actual es una única entrada. Si es así, llamará a la función de contador de visitas de entradas de WordPress para realizar un seguimiento y actualizar el recuento de visitas de la entrada.

De este modo, cada vez que un usuario visite la entrada, se actualizará su recuento de visitas.

Llamemos a este fragmento de código ‘Gancho de seguimiento de entradas de WordPress’. A continuación, inserte las siguientes líneas de código:

function 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');

Puede elegir el método de inserción como ‘Auto Insertar’ y la ubicación como ‘Solo portada.’

Igual que en los pasos anteriores, sólo tienes que activar el código y guardar el fragmento.

Choosing Frontend Only as the code insertion location in WPCode

Nota: Si utiliza un plugin de caché, es posible que esta técnica no funcione por defecto. Puede utilizar la característica de caché de fragmentos que ofrecen algunos plugins de caché como W3 Total Cache para que funcione.

Añadir funciones para recuperar el recuento de entradas vistas y mostrar las entradas más populares con el recuento de vistas.

Ahora estamos en los pasos finales de esta guía. Necesita añadir un fragmento de código que recupere y formatee el número de vistas de una entrada dada de WordPress. Esto será útil más adelante cuando se muestra la lista de entradas más vistas.

Puede nombrar este código como ‘Recuperar función de recuento de entradas’ y establecer la ubicación como ‘Ejecutar en todas partes’.

Este es el fragmento de código:

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');
        return "0 View";
    }
    return $count.' Views';
}

De nuevo, asegúrate de activar el código en WPCode y guardarlo después.

Una vez hecho esto, vuelve a crear un nuevo fragmento de código y llámalo “Mostrar entradas más populares con recuentos de visitas”. Este es el código que mostrará tus entradas más populares en la parte inferior de las entradas de tu blog.

En el cuadro Vista previa del código, inserte el siguiente fragmento de código:

// Customize the query parameters as needed
$popularpost = new WP_Query( array(
    'posts_per_page' => 3,         // Feel free to adjust the number of posts to display
    'meta_key' => 'wpb_post_views_count',
    'orderby' => 'meta_value_num',
    'order' => 'DESC'
));
?>

<div class="popular-posts">
    <h2>See Our Most Popular Posts</h2> <!-- Feel free to customize the title -->
    <ul>

    <?php while ( $popularpost->have_posts() ) : $popularpost->the_post(); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            - <?php echo wpb_get_post_views(get_the_ID()); ?>
        </li>
    <?php endwhile; ?>

    </ul>
</div>

<?php wp_reset_postdata(); 

Como se indica en el código, no dudes en ajustar el número de entradas a mostrar y personalizar el título de esta sección.

En la sección de Inserción de WPCode, asegúrate de seleccionar ‘Insertar después de la entrada’ para la Ubicación. A continuación, active el código y guarde el fragmento de código.

Todo lo que queda por hacer ahora es visitar una de las entradas de tu blog y ver si el código funciona. Este es el aspecto de las entradas más populares por sección de visitas en nuestro blog WordPress de prueba:

What the most popular posts by views section looks like made with WPCode

Consejo de experto: Para ver si tu código funciona sin cambiar permanentemente tu sitio, puedes probar el Modo de Pruebas de WPCode.

Esta característica le permite añadir sus códigos de forma normal y solo usted puede ver cómo se ven en el front-end. Por otro lado, tus usuarios interactuarán con tu sitio web de forma normal.

Esperamos que este artículo te haya ayudado a aprender cómo mostrar entradas populares por vistas en WordPress. También puedes comprobar nuestro artículo sobre cómo mostrar productos populares en WooCommerce y nuestra guía para principiantes sobre campos personalizados en WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

166 comentariosDeja una respuesta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Mrteesurez says

    I think it would be easier to use a plugin maybe Monsterinsights or another as it straight forward than using custom code, but the issue is, I don’t think using Monsterinsights will shows view counts ??

    • WPBeginner Support says

      MonsterInsights would mot show the view count by default if that is what you want to include with your popular posts.

      Administrador

  3. mohadese esmaeeli says

    The display of popular posts is beneficial as it helps increase website traffic statistics. However, on the other hand, competitors can easily identify which posts and topics have been popular on your site. One of the sections I always explore for competitor analysis and finding trending topics is the “most popular articles” section on various websites.

    • WPBeginner Support says

      While that can be something to keep in mind, we normally find it best to add what is most important to your visitors instead of being concerned that your competitors will follow your content.

      Administrador

    • Mrteesurez says

      Yes, competitors can use it to analytics ones website but you can just display it like WPbeginner, without adding the views count/counter.
      But mind you, visitors can use Semrush, Google, Similarweb and some other ways to analyze your site. You own is just to know how you are playing your games.
      Thanks for the insight.

  4. Moinuddin Waheed says

    Popular posts and related posts makes the user engagement intact and reduced bounce rate.
    it helps in more user interaction with the posts and articles.
    I have seen many bloggers showing views count and read time of the posts, like 5 minutes read or 3 minutes read.
    can we have popular posts and related posts where ever we want with this method? and
    Is this method can be used for achieving both these objectives like having read time based on word counts?

    • WPBeginner Support says

      You should be able to place it wherever widgets are allowed. For the time to read, it would depend on the plugin you use for that and if it has an integration or not.

      Administrador

  5. Jiří Vaněk says

    I would like to ask if the snippet also works on the new WordPress 6.4.2. I followed the instructions, cleared the cache, but the most read articles do not appear under the article

      • Jiří Vaněk says

        Thank you for the reply. It’s already working. I had a mistake somewhere and unfortunately I don’t know where. In the end, I repeated the whole procedure twice more and it worked on the third try. Unfortunately, I don’t know what I did wrong, but the snippets really work. Thank you.

        • WPBeginner Support says

          Glad they started working for you, it’s always difficult to tell what went wrong when trying the same code again works when the previous time it didn’t.

  6. Chris says

    If we have caching enabled, can we avoid the caching problem by resorting to JavaScript (AJAX) to send the command to record the view? Would that work?

    • WPBeginner Support says

      While there is a complex way to have that workaround, we do not have a method we would recommend at this time.

      Administrador

  7. Amir says

    Hello, thank you very much.
    It is very simple and practical.

    But with each reload, one visit is added.
    How can I fix this problem?

    Thankful

    • WPBeginner Support says

      Any time a user would reload a page or visit the page again would be another visit. For specifically excluding refreshes you would need to use a plugin with more advanced features.

      Administrador

    • WPBeginner Support says

      You may want to try clearing all caching checking with your theme’s support to ensure they don’t have anything that would conflict with this

      Administrador

  8. za says

    Thank you for the tutorial. I applied it and it works. No need another plugin to show popular posts and the customized counter in single.

    Thanks!

  9. Chris says

    Is it beyond the scope of this article to explain had you assign the functions to those buttons as in your screenshot:

    Recent Articles – Popular Posts – editor’s picks

    That is basically what I want to do…have buttons at the top of my posts page for recent, popular/trending, editors picks. I haven’t found any plugins that can do that. The all focus on side bar widgets.

    It looks like your article is starting to talk about this but where to go from there is beyond my current knowledge level.

    Thanks,
    Chris

  10. Amit Biswas says

    Getting double view count on refresh (single.php). Don’t know if the remove action is working or not for “adjacent_posts_rel_link_wp_head”. Useless so far. I tried everything that is possible to remove double count. Using this code in a custom made plugin.

  11. Hans says

    Thsi thing works greats.

    Now I want the columnn in admin to be sortable. any idea how to do this?

    many thanks!

  12. Trevor says

    Hey, thanks for the code. Only issue I’m having is the view count is incrementing by 2 instead of 1 on refresh. Any thoughts?

    • Fuchel says

      This was happening for me because I had:

      `set_post_views(get_the_ID());` in single.php
      AND
      `add_action( ‘wp_head’, ‘track_post_views’);` in my functions.php which was also adding `set_post_views(get_the_ID());` within it.

      By removing the line on single.php I fixed the double count.

  13. Bülent Sakarya says

    Hello..

    Using w3total cache but count not working correctly.

    don’t use child theme. how can I fix it?

    thanks..

  14. Ryley Ameden says

    Fixed this issue:

    Cannot use WP_Query, used get_posts and it is now working. Then use a foreach look to loop through the posts and display them. See below:

    $blog_cat_array = get_the_category();
    $blog_cat = $blog_cat_array[0]->term_id;

    $popularpost = array(
    ‘posts_per_page’ => 2,
    ‘meta_key’ => ‘wpb_post_views_count’,
    ‘orderby’ => ‘meta_value_num’,
    ‘order’ => ‘DESC’,
    ‘category’ => $blog_cat,
    ‘post_type’ => ‘post’,
    );
    $pop_posts = get_posts($popularpost);

    foreach($pop_posts as $pop_post){
    the_title();
    }

  15. Erwin Barendregt says

    I really like this option and have built it into my site.
    I have one question regarding the count. I found that the counts were rather high so I changed the code around a bit. With every count increase I wrote the IP address to a log file. I found hat two-third of the counts were legit and the other ones came from googlebot, apple, etc. and just now apews Is there any way to get the counts right and do you know if the ‘regular’ plugins have found a way around this?
    Thx!
    BTW: Keep up the good work, I thoroughly enjoy this site!

    • bah says

      you can take maxmind ISP IP database and only count humans. This is the best option. Second just dont count common bots user-agent-names

      • Erwin Barendregt says

        Thanks so much. I will definitely look into that.
        In the mean time I implemneted the solution which was implemented in the WordPress Popular Posts plugin. That works for now, but the solution you recommended seems more future-proof. Thanks again!

  16. John says

    Hi! Awesome! This code helped me a lot!

    Do you know how to display the posts with 0 views? I have to enter to the post page by using the url the first time, otherwise it doesn’t show.

  17. Gianmarco says

    Awesome thanks this is really useful, but a question. Doesn’t it slow down the loading of the page significantly?

  18. ayaz says

    Hi,

    This is very useful post, i really appreciate. Can i filter the post in category, I wanted to show the post of specific category.

    Thanks.

  19. Bojan says

    Ok this is great. For some reason, post count doesnt show numbers, not sure is it because i work on a local., but what i wanted to ask even more, is how to add so it count only in the last 7 days?

  20. DarkSafka says

    Sadly this does not work with W3 Total Cache with Page Caching enabled. Coul not get any “fragmented caching” to work either.

  21. REIBI says

    Hey,
    This works great. But I need to show popular post of a day, this code shows popular posts of all time. Is there anyway to show popular posts of a day only.

    Any help will be greatly appreciated.

    Thanks :)

    • Dimitrios Arkolakis says

      Try to add something like this in the WP Query

      ‘date_query’ => array(
      array(
      ‘year’ => $today[‘year’],
      ‘month’ => $today[‘mon’],
      ‘day’ => $today[‘mday’],
      ),

      • Nick Heurter says

        This doesn’t seems to work. Is there anyone who figures out how to display the most popular posts of the lasts 7 days?

        Thanks!

  22. Mawardiy says

    Hi, I use Goodnews 5.7.2 theme, but where i put “wpb_get_post_views(get_the_ID());” in my theme, thank for u’r guidance

  23. Alex says

    Hey, thanks for the information.
    There’s a little problem. I put:

    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’);
    }else{
    $count++;
    update_post_meta($postID, $count_key, $count);
    }
    }
    //To keep the count accurate, lets get rid of prefetching
    remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);

    function 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’);

    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’);
    return “0 View”;
    }
    return $count.’ Views’;
    }

    and my visits counts always as two. What’s happening? Thanks.

    • ScoDal says

      I modified this a little to use it as a shortcode. To use this with a shortcode, add this to your functions.php:

      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’);
      }else{
      $count++;
      update_post_meta($postID, $count_key, $count);
      }
      }
      //To keep the count accurate, lets get rid of prefetching
      remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);

      function 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’);

      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’);
      return “0 View”;
      }
      return $count.’ Views’;
      }

      function wpb_most_viewed_posts() {
      // start output buffering
      ob_start();
      ?>
      4, ‘meta_key’ => ‘wpb_post_views_count’, ‘orderby’ => ‘meta_value_num’, ‘order’ => ‘DESC’);

      //begin loop
      while ($query->have_posts()) : $query->the_post(); ?>

      <?php

      // Turn off output buffering
      $theResult = ob_get_clean();

      //Return output
      return $theResult;
      }
      // Create shortcode
      add_shortcode('wpb_most_viewed', 'wpb_most_viewed_posts');

      //Enable shortcode execution in text widgets
      add_filter('widget_text', 'do_shortcode');

      Then simply add [wpb_most_viewed] to your desired page/post and it should display your most popular posts.

  24. John says

    Hello, great tutorial but I have one question.
    After following all of the steps the template isn’t paginating. It’s only showing the default 10 posts. Should this happen or is there a way to get it to paginate?

  25. Varange says

    Folks, please help. Just cannot figure it out.

    How do I change the args to the wp-query to show the most popular posts for the last week? Or month?

  26. Denis says

    Hello,
    can I do this with comments? I dont use any comments on my site so I could use this comment count to check my most popular page without adding a comment?
    Cheers,
    Denis

  27. Kes says

    I’ve found a number of tuts covering this topic but none seem to spell out where the line goes.

    I’ve tried it inside PHP tags and it breaks the page. If i place it in the HTML it just renders as a comment when you view source and no php is generated.

    Any ideas? I’m w3 total cache and my page views aren’t getting updated

  28. Jorge says

    Hello! How can I show the most popular posts for the current week?? Is there any possible? Thanks in advance.

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.