Как получить и показать 5 самых просматриваемых записей
17 апр. 2012 г., 21:54:05
Просмотры: 40.8K
Голосов: 10
Вот как я получаю просмотры для одной записи:
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 Просмотров";
}
return $count.' Просмотров';
}
Допустим, я хочу найти самые просматриваемые записи из 5000 записей и показать топ-5 самых просматриваемых записей.
Как можно сделать запрос для достижения этого?
// Запрос для получения топ-5 самых просматриваемых записей
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
$query = new WP_Query($args);
if($query->have_posts()) :
while($query->have_posts()) : $query->the_post();
// Вывод записей
echo '<h2>' . get_the_title() . '</h2>';
echo '<p>Просмотров: ' . getPostViews(get_the_ID()) . '</p>';
endwhile;
wp_reset_postdata();
endif;

Romes
455
Все ответы на вопрос
2
1
Ознакомьтесь с этим разделом Кодекса, чтобы узнать, как создать пользовательский запрос: http://codex.wordpress.org/Class_Reference/WP_Query
Ваш запрос будет выглядеть примерно так:
$query = new WP_Query( array(
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'posts_per_page' => 5
) );
По умолчанию сортировка будет от большего к меньшему, что даст вам "топ" 5 записей.

5t3ph
900
18 апр. 2012 г. 00:31:35
0
Ознакомьтесь с этим разделом Кодекса, чтобы узнать, как создать собственный запрос: http://codex.wordpress.org/Class_Reference/WP_Query
этот код будет работать
$query = new WP_Query( array(
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'posts_per_page' => 5
) );

vipul
11
3 июн. 2014 г. 10:13:43
Похожие вопросы
4
ответов