Cómo consultar las entradas más vistas y mostrar el top 5
17 abr 2012, 21:54:05
Vistas: 40.8K
Votos: 10
Así es como estoy obteniendo las vistas para una entrada:
function getPostViews($postID){
$count_key = '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 Vista";
}
return $count.' Vistas';
}
Digamos que quiero encontrar las entradas más vistas de entre 5,000 entradas y quiero mostrar las 5 entradas más vistas.
¿Cómo puedo hacer una consulta para lograr esto?
// Aquí está la consulta para obtener las 5 entradas más vistas
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
$popular_posts = new WP_Query($args);
// Mostrar las entradas
if($popular_posts->have_posts()) :
while($popular_posts->have_posts()) : $popular_posts->the_post();
echo '<h2>' . get_the_title() . '</h2>';
echo 'Vistas: ' . getPostViews(get_the_ID());
endwhile;
wp_reset_postdata();
endif;

Romes
455
Todas las respuestas a la pregunta
2
1
Consulta esta sección del Codex para aprender cómo crear una consulta personalizada: http://codex.wordpress.org/Class_Reference/WP_Query
Tu consulta será algo como:
$query = new WP_Query( array(
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'posts_per_page' => 5
) );
Por defecto, el orden será de mayor a menor, dándote así los 5 "más populares".

5t3ph
900
18 abr 2012 00:31:35
0
Consulta esta sección del Codex para aprender cómo crear una consulta personalizada: http://codex.wordpress.org/Class_Reference/WP_Query
este código funcionará
$query = new WP_Query( array(
'meta_key' => 'post_views_count', // Clave meta para ordenar
'orderby' => 'meta_value_num', // Ordenar por valor numérico del meta
'posts_per_page' => 5 // Mostrar 5 posts por página
) );

vipul
11
3 jun 2014 10:13:43
Preguntas relacionadas
5
respuestas
4
respuestas
4
respuestas