- 23 Июл 2015г
- 2941
- 7
- Рубрика: Wordpress
Вывод популярных записей WordPress за неделю, месяц

Доброго времени суток. 🙂
Данная статья будет скорее не отдельным уроком, а дополнением к двум моим старым статьям. Дело в том, что недавно, меня задали вопрос в комментариях, который меня и направил на написание данной статьи.
Когда-то я писал о способе, Как вывести популярные записи по количеству просмотров. Данная статья поможет Вам вывести самые популярные записи, но у нее есть один минус. Если у Вас есть топовые записи, которые превосходят остальные, то они постоянно будут в списке и список не будет меняться. Один из посетителей спросил, как сделать сортировку за определенный промежуток времени, например последний месяц, а не все время. Также была статья где сортировка выполнялась по количеству комментариев - Как вывести список популярных записей на WordPress. Тут я покажу, как сделать сортировку популярных записей WordPress за определенный промежуток времени, а именно за месяц или неделю.
Вывод популярных записей за месяц
Сначала сделаем сортировку за месяц. Для этого в нужном месте вашей темы, там где Вы хотите увидеть вывод популярных записей ПО КОЛИЧЕСТВУ КОММЕНТАРИЕВ, добавить следующий код
<ul> <?php $month = date('m'); $year = date('Y'); query_posts('post_type=post&posts_per_page=5&orderby=comment_count&order=DESC&year=' . $year . '&monthnum=' . $month); while (have_posts()): the_post(); ?> <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></li> <?php endwhile; wp_reset_query(); ?> </ul>
Во второй и третей строке задаем условие сортировки. Это текущий месяц и текущий год. То есть сортировка записей за месяц. В четвертой строке указаны остальные параметры сортировки. Количество выводимых записей - 5. Способ сортировки - количество комментариев.
Чтобы сделать сортировку ПО КОЛИЧЕСТВУ ПРОСМОТРОВ, нужно в четвертой строке заменить сортировку по комментариям на сортировку по просмотрам. Нужно этот код:
orderby=comment_count&order=DESC
поменять на этот:
meta_key=post_views_count&orderby=meta_value_num
Сортировка по просмотрам будет работать при условии если у Вас установлена функция подсчета просмотров. Если Вы еще это не сделали, то Вам поможет статья - Количество просмотров записи WordPress.
Вывод популярных записей за неделю
Для того, чтобы сортировка происходила за неделю и по количеству комментариев, код будет таким:
<ul> <?php $week = date('W'); $year = date('Y'); query_posts('post_type=post&posts_per_page=10&orderby=comment_count&order=DESC&year=' . $year . '&w=' . $week); while (have_posts()): the_post(); ?> <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></li> <?php endwhile; wp_reset_query(); ?> </ul>
Для сортировки по просмотрам, нужно выполнить такую же замену как и в первом коде за месяц.
В обоих примерах в 8 строке выводится ссылка с названием статьи, по желанию можно добавить Вывод миниатюр и немного приукрасит все стилями. На моем сайте Есть много статей где показано как это сделать.
Теперь, если Вам надо сделать сортировку популярных записей за неделю или месяц, то примеры в данной статье помогут Вам это сделать.
На этом все, спасибо за внимание. 🙂
Комментариев: 1
А как сделать вывод популярных записей за последние сутки (1 день)? Как ни меняю код - не получается...
Комментариев: 513
Попробуйте взять код, например за неделю. В 3 строке букву - W в скобках замените на - j
Потом в 5 строке - &w= замените на &day=
Комментариев: 1
Не работает за день.
Комментариев: 1
Привет, а как сделать вывод за последние 3 месяца? спасибо
Комментариев: 513
Здравствуйте, дело в том, что для вывода цикла используется query_posts, а в нем нет такого параметра, который бы делал сортировку за 3 месяца.
Комментариев: 1
Подскажите пожалуйста сейчас это работает ? У меня ни чего не работает ,по первой статье на эту тему все работает (та где без времени),
Комментариев: 1
Актуальный вопрос и для меня: "как сделать вывод популярных записей за последние сутки (1 день)"