Cómo mostrar los posts más visitados de WordPress mediante código

Mostrar los posts más visitados en el sidebar de tu WordPress es la mar de útil para que los visitantes puedan echar un vistazo a los artículos más populares de tu web. En este tutorial te mostraré cómo mostrar los posts más visitados de forma sencilla sin necesidad de recurrir a ningun plugin. Puedes obtener los posts más visitados de tu web mediante una simple query en WordPress.

Para utilizaremos los post meta que es donde se almacenan las visitas a los posts. Extraeremos los registros de la base de datos en base a las visitas de los artículos. Para ello necesitamos modificar solo dos ficheros, functions.php y single.php. Después de eso, podrás mostrar los posts más visitados de WordPress.

Fichero functions.php

Abre el fichero functions.php de tu tema actual y añade el siguiente código.

La función setPostViews() añade o modifica el post meta con post_view_count.

/*
 * Set post views count using post meta
 */
function setPostViews($postID) {
    $countKey = 'post_views_count';
    $count = get_post_meta($postID, $countKey, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $countKey);
        add_post_meta($postID, $countKey, '0');
    }else{
        $count++;
        update_post_meta($postID, $countKey, $count);
    }
}

Fichero single.php

Abre el fichero single.php de tu actual tema y coloca la función setPostViews() dentro del loop.

setPostViews(get_the_ID());

Muestra los posts más visitados

La siguiente query extraerá los posts basándose en el valor del post_views_count. Coloca el siguiente código en el sidebar o donde quieras mostrar los posts más visitados de Wordpress.

<?php
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC');
if (have_posts()) : while (have_posts()) : the_post();
?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile; endif;
wp_reset_query();
?>

 

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP