Главная
Wordpress
Вывод популярных записей по количеству просмотров WordPress
  • 07 Апр 2015г
  • 1978
  • 16
  • Рубрика: Wordpress

Вывод популярных записей по количеству просмотров WordPress

Список популярных записей

Доброго времени суток. 🙂

Часто нужно выводить определенные списки записей. У меня на сайте есть разные уроки как вывести последние записи, случайные похожие. Также есть уже и статья о том - Как вывести список популярных записей на WordPress. В том уроке записи сортировались по количеству комментариев, так что кому надо именно этот параметр, читаем ту статью.

В этой статье, описывается способ, как вывести популярные записи по количеству просмотров записи. Статьи, которые больше всего будут показаны Вашим посетителям, будут считаться самыми популярными и выстраиваться по убыванию. Но для того, чтобы данный способ работал, сначала нужно добавить функцию подсчета просмотров. Чтобы это сделать, нужно прочитать и выполнить все действия по статьи - Количество просмотров записи WordPress.

Когда у Вас уже ведется подсчет просмотров, можно уже организовать вывод популярных записей по количеству просмотров. Сначала нужно определится с местом, где будет этот список. Под записью, на главной или в сайдбаре, возможно в подвале. Далее нужно добавить вот такой код с функцией WP_Query.

<ul class="populargb">
<?php $populargb = new WP_Query('showposts=5&meta_key=post_views_count&orderby=meta_value_num' );
while ( $populargb->have_posts() ) {
    $populargb->the_post(); ?>
<li>
<div class="mail"><?php the_post_thumbnail(); ?></div>
<a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php } ?>
</ul>

Во второй строке задаем параметры сортировки. showposts=5 - это количество записей, которое будет выводиться. Далее идет условие сортировки и мы обращаемся к функции подсчета просмотров, которую подключили в прошлой статье. как видите вся функция заключена в теги ul. Записи выведутся в виде списка. Ссылка на запись заключена в тег li. Это просто ссылка с названием записи и перед ней миниатюра и они внутри тега li. Чтобы убрать миниатюру удалите 6 строку.

Чтобы задать внешний вид, добавьте стилей по своему усмотрению, так, как Вам нужно. Я не буду заострять на этом внимание. Но все же кому нужно очень, а он не знает как, то можете воспользоваться этими стилями:

.populargb{list-style:none;margin:0;}
.populargb .wp-post-image{max-height:80px;max-width:80px;margin:0 10px 0 0;}
.populargb li {min-height:80px;border-bottom:1px solid #eee;}
.populargb li > div{float:left;}
.populargb a{color:#390;}

Сложного особо ничего нет. Да, если у Вас не велось количество просмотров, то надо выполнить многовато действий и с прошлой статьи и с этой. Увы, но этот вывод не работает без подсчета просмотров записи. Делая все по инструкции, внимательно и хоть с примерным пониманием, все будет работать. У меня, на данный момент, популярные записи выведены в сайдбаре. Возможно когда-то я их уберу, так что вдруг не будет для примера, не думайте, что я не проверял данный способ.

На этом все, спасибо за внимание. 🙂




Если Вам был полезным мой труд, можете поддержать сайт, обменяться со мной текстовыми ссылками или посмотреть рекламку, что займет 2 минуты :)


Оцените статью
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(17 голосов, в среднем: 5 из 5)

Опубликовано 16 комментариев

  • Костя
    Комментариев: 5

    Все работает. Способ прикольный, понравилось, что выводит список именно WP_Query, а не query_post как у других. 5 баллов 🙂

  • Дмитрий
    Комментариев: 2

    У меня почему то не работает этот способ, значение meta_value в таблице postmeta всё время 0 показывает, по идее там число должно увеличиваться в зависимости от просмотров постов, так и не понял в чём запара?

    • Виталий
      Комментариев: 267

      Дмитрий, а Вы установили счетчик просмотров? В статье есть ссылка на урок, где описано как это сделать. Сначала должен вестись подсчет просмотров, а потом уже вывод в соответствии с этими результатами.

      • Дмитрий
        Комментариев: 2

        Виталий, да я ставил счётчик в single.php после этого if ( have_posts() ) : while ( have_posts() ) : the_post()
        и ничего не изменяется, в таблице postmeta только строки появляются, но значение value всегда 0

        • Виталий
          Комментариев: 267

          Странно. У меня реализован и вывод просмотров и в сайдбаре популярные по количеству просмотров. Для просмотров вставляется код функции в functions.php и счетчик под if ( have_posts(). После в сайдбаре или там где нужно код из этой статьи и все работает на 5+. Я сделал не мало тем и везде все работало. Можете прислать свою тему на почту и я посмотрю правильно ли вставлен код 🙂

  • freedore
    Комментариев: 4

    Как сделать так что бы выводились просмотры постов, которые были опубликованы за последнее время. например, 3 последних месяца а иначе в топе будут висеть только самые старые записи. или вывести показ по рубрикам и меткам. это было бы интереснее простого счетчика.

  • Ярослав
    Комментариев: 1

    К чему этот див если ничего не прописуем в css?

    • Виталий
      Комментариев: 267

      Из статьи 🙂 - Чтобы задать внешний вид, добавьте стилей по своему усмотрению. В моих стилях нет, ну а в своих можете добавить 🙂

  • Виктор
    Комментариев: 4

    Виталий, не подскажите а как вывести все записи какие есть на отдельной странице по популярности? Впринципе как я понял можно и это код использовать, но если будет много записей соответственно и нагрузка на сервер, что скажите?

    • Виталий
      Комментариев: 267

      Вы правы. Используйте этот код. Создайте например шаблон страницы и в нем сделайте вывод. С увеличением количества постов, увеличится немного и нагрузка.

  • Анатолий
    Комментариев: 1

    У меня такая проблема - необходимо вывести 2 ТОП по просмотрам записи! все норм выводит, НО как только у какой то записи становится 10+ просмотров Ю то всё, сортировка выводится без этой записи, её как бы игнорит..все записи гнорит у которых 10+ просмотров...подскажите пожалуйста

  • Артём
    Комментариев: 13

    Приветствую
    Спасибо большое за статью очень помогла и все работает как надо!
    Но есть маленькая загвоздка, можно ли как нибудь сделать чтобы можно было изменять с админки кол-во выводимых записей??

    • Виталий
      Комментариев: 267

      Можно создать страницу настроек темы, как в этой статье http://gnatkovsky.com.ua/kak-sozdat-stranicu-nastroek-temy-bez-plagina-wordpress.html
      там сделать поле ввода или выпадающий список select, где задавать нужное число, а оно бы вносилось как параметры в созданный цикл из этой статьи. Точной пошаговой инструкции не дам, там очень много нужно сделать. Если разобраться и понять сут как работает страница настроек, проблем возникнуть не должно.

      • Артём
        Комментариев: 13

        Благодарю за подсказку.
        Не знаю осилю или нет)
        Наткнулся на плагин вывода популярных записей, может он мне поможет)

Добавить комментарий

Заполните поля ниже. Ваш e-mail не будет опубликован. Обязательные поля помечены *

Уважаемые пользователи! При добавлении комментариев на сайт Вам следует соблюдать правила указанные под формой отправки комментариев.

Соблюдайте добавления комментариев

Это не спам *

Нажмите, чтобы добавить код в комментарий