Сортируем записи в рубриках по количеству просмотров

Хаки

Если требуется сортировать записи в рубрике по количеству просмотров статей wordpress, то самый простой вариант — использовать плагин WP-PostViews и для вывода статей в нужном шаблоне использовать следующий код перед loop’ом:

$category = get_the_category();
 $args=array(
 'cat' => $category[0]->term_id,
 'order'=>'DESC',
 'meta_key'=>'views',
 'orderby'=>'meta_value_num',);
query_posts ($args);

Пример использования в archives.php:

<?php get_header(); ?>
<div class="content">
<?php
if (is_category () ) {
 $category = get_the_category();
 $args=array(
 'cat' => $category[0]->term_id,
 'order'=>'DESC',
 'meta_key'=>'views',
 'orderby'=>'meta_value_num',);
query_posts ($args); };
if (have_posts()) : while (have_posts()) : the_post();
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
 <?php endwhile; endif; ?>
</div>
<?php get_footer(); ?>

Более правильный вариант:

<?php if (is_category () ) {
 $category = get_the_category();
 $args=array(
 'cat' => $category[0]->term_id,
 'order'=>'DESC',
'posts_per_page' => '8',
 'meta_key'=>'views',
'paged' => get_query_var('paged'),
 'orderby'=>'meta_value_num',);
query_posts ($args); }; if( have_posts() ){ while( have_posts() ){ the_post(); ?>

При этом в админке нужно поставить кол-во записей на странице = 1, делается это тут: http://vash_site.com/wp-admin/options-reading.php

Оцените статью
Добавить комментарий