SummArg | Cursos y recursos para webmasters

24/01/2011

Mostrar las entradas mas vistas en los últimos X días

Esta es una pequeña modificación que utilizamos con el plugin WP-PostViews de LesterChan para que nos muestre las entradas mas visitadas en los últimos días con un valor a definir por nosotros.

En donde deseamos desplegar la información, generalmente sidebar.php, colocamos el código para obtener las mas vistas:

<ul>
 <?php if (function_exists('get_most_viewed')): ?>
 <?php get_most_viewed('post',10); ?>
 <?php endif; ?>
</ul>

En el archivo functions.php definimos el rango de días que se mostrarán:

function most_views_lastdays() {
 global $wpdb, $post;
 $start_date = mktime(0,0,0,date("m"),date("d")-7,date("Y"));
 $date_limit = "post_date BETWEEN '".date("Y-m-d", $start_date)."' AND '".current_time('mysql')."'";      
 $most_viewed = $wpdb->get_results("SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE $date_limit AND $where AND post_status = 'publish' AND meta_key = 'views' AND post_password = '' ORDER  BY views DESC LIMIT $limit");
 if($most_viewed) {
 foreach ($most_viewed as $post) {
 echo the_title();
 }
 }
}

En donde 7 es el valor a cambiar para obtener un diferente rango de días. Esperamos les sea de utilidad!

Dejar un comentario