Когда-то я писал о способе, Как вывести популярные записи по количеству просмотров. Данная статья поможет Вам вывести самые популярные записи, но у нее есть один минус. Если у Вас есть топовые записи, которые превосходят остальные, то они постоянно будут в списке и список не будет меняться. Один из посетителей спросил, как сделать сортировку за определенный промежуток времени, например последний месяц, а не все время. Также была статья где сортировка выполнялась по количеству комментариев - Как вывести список популярных записей на WordPress. Тут я покажу, как сделать сортировку популярных записей WordPress за определенный промежуток времени, а именно за месяц или неделю.
Вывод популярных записей за месяц
Сначала сделаем сортировку за месяц. Для этого в нужном месте вашей темы, там где Вы хотите увидеть вывод популярных записей ПО КОЛИЧЕСТВУ КОММЕНТАРИЕВ, добавить следующий код
1 2 3 4 5 6 7 8 9 10 11 12 13 | <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. Способ сортировки - количество комментариев.
Чтобы сделать сортировку ПО КОЛИЧЕСТВУ ПРОСМОТРОВ, нужно в четвертой строке заменить сортировку по комментариям на сортировку по просмотрам. Нужно этот код:
1 | orderby=comment_count&order=DESC |
поменять на этот:
1 | meta_key=post_views_count&orderby=meta_value_num |
Сортировка по просмотрам будет работать при условии если у Вас установлена функция подсчета просмотров. Если Вы еще это не сделали, то Вам поможет статья - Количество просмотров записи WordPress.
Вывод популярных записей за неделю
Для того, чтобы сортировка происходила за неделю и по количеству комментариев, код будет таким:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <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 строке выводится ссылка с названием статьи, по желанию можно добавить Вывод миниатюр и немного приукрасит все стилями. На моем сайте Есть много статей где показано как это сделать.
Теперь, если Вам надо сделать сортировку популярных записей за неделю или месяц, то примеры в данной статье помогут Вам это сделать.
На этом все, спасибо за внимание. 🙂